Advertisement
Guest User

Untitled

a guest
Jan 18th, 2020
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.02 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <algorithm>
  4. #include <cmath>
  5. #include <fstream>
  6. #define ld long double
  7. #define ll long long
  8. using namespace std;
  9.  
  10. // Cap {} tuong duong (begin end)
  11.  
  12. int n, x, be, en, minn[1000001];
  13. ll  a[1000001];// aray of long long
  14. ll v; // var v : long long (Trong pascal hnhu co moi kieu long)
  15.  
  16.  
  17. int main(){
  18.     freopen("ps.inp","r",stdin); //assign(...)
  19.     freopen("ps.out","w",stdout);// assign(...)
  20.     ios_base::sync_with_stdio(false);// Khong quan trong
  21.     cin.tie(NULL);
  22.     cout.tie(0);
  23.     cin >> n;
  24.     for(int i = 1; i <= n; i++){ // for i := 1 to n do
  25.         cin >> a[i];
  26.         a[i] += a[i-1]; // a[i] := a[i] + a[i - 1];
  27.         v = min(v, a[i]); // if v > a[i] then v := a[i];
  28.         if(v == a[i]) minn[i] = i;
  29.         else minn[i] = minn[i - 1];
  30.     }
  31.     int i = minn[n - 1], z = n;
  32.     while(true){ // while 1 = 1 then
  33.         while(z > i && a[z] <= a[i]) z--;
  34.         if(z - i > en - be){
  35.             en = z;
  36.             be = i;
  37.         }
  38.         if(i == 0) break;
  39.         i = minn[i - 1];
  40.     }
  41.    
  42.     cout << be + 1 << " " << en; // write(be + 1, ' ', en);
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement