제출 #1352692

#제출 시각아이디문제언어결과실행 시간메모리
1352692bakhtiyarnSum Zero (RMI20_sumzero)C++20
0 / 100
1095 ms952 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long

const int N = 3e5+5;
int a[N], pre[N];

// for(int i=1; i<=n; i++)
void solve(){
    int n; cin >> n;
    for(int i=1; i<=n; i++) cin >> a[i], pre[i] = pre[i-1] + a[i];

    int q; cin >> q;
    while(q--){
        int l, r; cin >> l >> r;
        map<int, int> last, dp;
        for(int i=r; i>=l; i--){
            last[pre[i]] = i;
            dp[i] = dp[i+1];
            if(last[pre[i-1]]) dp[i] = max(dp[i], dp[last[pre[i-1]]+1] + 1);
            // cout << dp[i] << ' ';
        }
        cout << dp[l] << endl;
    }
}

signed main() {
 ios_base::sync_with_stdio(0);
 cin.tie(0);
 cout.tie(0);
 solve();
}



#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...