fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define GG ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
  4. int main () { GG;
  5. int n,m,x,y; cin>>n>>m;
  6. vector<int>v(n);
  7. int p[n]={0},s[n]={0};
  8. for(int i=0;i<n;i++) cin>>v[i];
  9.  
  10. for(int i=1;i<n;i++) //pr_arr
  11. { p[i]=p[i-1];
  12. if(v[i]<v[i-1])
  13. p[i]+=v[i-1]-v[i];
  14. }
  15.  
  16. for(int i=n-2;i>=0;i--) //suf_arr
  17. { s[i]=s[i+1];
  18. if(v[i+1]>v[i])
  19. s[i]+=v[i+1]-v[i];
  20. }
  21.  
  22. for(int i=0;i<m;i++)
  23. { cin>>x>>y;
  24. if(x<y)
  25. cout<<p[y-1]-p[x-1]<<"\n";
  26. else
  27. cout<<s[y-1]-s[x-1]<<"\n";
  28. }
  29.  
  30. return 0;}
Success #stdin #stdout 0s 5292KB
stdin
7 6
10 8 9 6 8 12 7
1 2
1 7
4 6
7 1
3 5
4 2
stdout
2
10
0
7
3
1