Advertisement
Guest User

Ladders

a guest
Sep 9th, 2018
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.91 KB | None | 0 0
  1. #include <cstdio>
  2. #include <iostream>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. int main(){
  8.  
  9.   int n, m;
  10.   cin >> n >> m;
  11.  
  12.   vector <bool> curva_p_cima = vector <bool>(n, false);
  13.   int v0, v1;
  14.   cin >> v0;
  15.   int inclinacao = 0;
  16.   for(int i = 1; i < n; i++){
  17.     cin >> v1;
  18.     if(v1 > v0){
  19.       if(inclinacao < 0){
  20.         curva_p_cima[i] = 1;
  21.       }
  22.       inclinacao = 1;
  23.     } else if (v1 < v0){
  24.       inclinacao = -1;
  25.     } else {
  26.       inclinacao = 0;
  27.     }
  28.     v0 = v1;
  29.   }
  30.  
  31.   vector<int> soma = vector <int> (n, 0);
  32.  
  33.   for(int i = 1; i < n; i++){
  34.     soma[i] = soma[i-1]+curva_p_cima[i];
  35.   }
  36.  
  37.   for(int i = 0 ; i < m; i++){
  38.     int l, f;
  39.     cin >> l >> f;
  40.     l--; f--;
  41.     int soma_dir = soma[f];
  42.     int soma_esq = soma[l];
  43.     if(l+1 < n && f-l+1 > 1 && curva_p_cima[l+1]) soma_esq++;
  44.     if(soma_dir - soma_esq == 0) puts("Yes");
  45.     else puts("No");
  46.   }
  47.  
  48. return 0;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement