mynameishandsome

Untitled

Aug 18th, 2021 (edited)
279
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.24 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. const long long N  = 1000005;
  4. bool SNT[N] = {false};
  5. long long n;
  6. long long bien;
  7. long long summ;
  8. vector<long long> huhu;
  9. vector<long long> luu;
  10. void san(){
  11.     for(long long i = 3; i*i < n+1; i+=2){
  12.         if(SNT[i]) continue;
  13.         for(long long j = i+i; j < n+1; j+=i){
  14.             SNT[j] = true;
  15.         }
  16.     }
  17. }
  18. long long kadane(){
  19.     long long sumka = huhu[0];
  20.     long long maxx = N*(-1);
  21.     for(long long i = 1; i!= huhu.size(); i++){
  22.         sumka -= luu[i-1];
  23.         if(sumka < 0) sumka = 0;
  24.         sumka += huhu[i];
  25.         maxx = max(sumka,maxx);
  26.     }
  27.     return maxx;
  28. }
  29.  
  30. int main() {
  31.     ios_base::sync_with_stdio(false);
  32.     cin.tie(NULL);
  33.     cin >> n;
  34.     san();
  35.     cin >> bien;
  36.     cin >> bien;
  37.     summ = bien;
  38.     long long tmaxx = N*(-1);
  39.     long long tmaxx2 = bien;
  40.     for(long long i = 3 ; i <= n; i++){
  41.         cin >> bien;
  42.         tmaxx = max(tmaxx, bien);
  43.         summ += bien;
  44.         if(!SNT[i] && i&1){
  45.             luu.push_back(bien);
  46.             tmaxx2 = max(tmaxx2, bien);
  47.             huhu.push_back(summ);
  48.             summ = bien;
  49.         }
  50.     }
  51.     if(tmaxx <= 0) cout << tmaxx2;
  52.     else cout << kadane();
  53.     return 0;
  54. }
  55.  
Add Comment
Please, Sign In to add comment