🟠 Վարժություն 27 🐸

Օգնեք գորտին գտնել ճանապարհը դեպի ազատություն։
Գորտը գտնվում է զանգվածի առաջին էլեմենտի դիրքում։ Զանգվածի յուրաքանչյուր էլեմենտ ցույց է տալիս գորտի ցատկի երկարությունը և ուղղությունը։
Եթե թիվը բացասական է, ապա գորտը ցատկում է դեպի ձախ, եթե դրական է՝ դեպի աջ։ 0-ի դեպքում գորտը մնում է նույն դիրքում։
Ծրագիրը պետք էկրանին տպի ցատկերի քանակը, որն անհրաժեշտ է, որպեսզի գորտը դուրս գա զանգվածի սահմաններից (աջից կամ ձախից)։ Եթե գորտը չի կարողանում դուրս գալ զանգվածից, ապա էկրանին անհրաժեշտ է տպել -1։
Խնդիրը ավելի լավ հասկանալու համար, դիտարկենք մի քանի օրինակ:
  🐸
[1, 2, 2, -1] - Գորտը գտնվում է զանգվածի զրոյական դիրքում, որտեղ գրված է 1։ Սա նշանակում է, որ գորտը կարող է ցակտել մեկ քայլ դեպի աջ, որից հետո կհայտնվի զանգվածի առաջին դիրքում։
🐸
[1, 2, 2, -1] - Այս դիրքում գրված է 2, սա նշանակում է, որը գորտը կարող է ցատկել երկու քայլ դեպի աջ, որից հետո կհայտնվի զանգվածի երրորդ դիրքում։
🐸
[1, 2, 2, -1] - Այս դիրքում գրված է -1, սա նշանակում է, որ գորտը կարող է ցատկել մեկ քայլ դեպի ձախ, որից հետո կհայտնվի զանգվածի երկրորդ դիրքում։
🐸
[1, 2, 2, -1] - Այս դիրքում գրված է 2, սա նշանակում է, որ գորտը կարող է ցատկել երկու քայլ դեպի աջ, որից հետո կհայտնվի զանգվածից դուրս։
🐸
[1, 2, 2, -1] - Այս օրինակում, զանգվածից դուրս գալու համար, գորտը կատարեց 4 ցատկ, և հետևաբար ծրագիրը էկրանին պետք է տպի 4։
 
Դիտարկենք ևս մեկ օրինակ՝
  🐸
[1, 2, 3, 0] - Գորտը գտնվում է զանգվածի զրոյական դիրքում, որտեղ գրված է 1։ Սա նշանակում է, որ գորտը կարող է ցակտել մեկ քայլ դեպի աջ, որից հետո կհայտնվի զանգվածի առաջին դիրքում։
🐸
[1, 2, 3, 0] - Այս դիրքում գրված է 2, սա նշանակում է, որ գորտը կարող է ցատկել երկու քայլ դեպի աջ, որից հետո կհայտնվի զանգվածի երրորդ դիրքում։
🐸
[1, 2, 3, 0] - Այս դիրքում գրված է 0 և գորտը այլևս չի կարողանա ցատկ կատարել և հետևաբար չի կարողանա դուրս գալ զանգվածի սահմաններից։ Ծրագիրը պետք է տպի էկրանին -1։
 
#include <iostream>
#include <vector>
int main() {
  std::vector<int> arr;
  int size;
  std::cout << "Insert vector size ";
  std::cin >> size;
  std::cout << size << std::endl;

  std::cout << "Insert vector elements: ";
  for (int i = 0; i < size; ++i) {
     int in;
     std::cin >> in;
     std::cout << in << " ";
     arr.push_back(in);
  }
  std::cout << std::endl;

  // Put your code here
}

Constraints

Time limit: 0.2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue