Submission #494216

#TimeUsernameProblemLanguageResultExecution timeMemory
494216TITANOBOXERSum Zero (RMI20_sumzero)C++17
22 / 100
1090 ms1756 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
#include <map>
#include <unordered_map>

using namespace std;
#define endl '\n'
#define fast ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define all(a) a.begin(),a.end()
#define rall(a) a.rbegin(),a.rend()
#define ff first
#define ss second
#define int long long

const int N = 4e5 + 7;
const int INF = 2e9;

struct zap{
    int l,r,id;
};

int a[N];
int ans[N];
unordered_map<int,int> prev;

signed main() {
    fast;
    int n;
    cin >> n;
    for(int i = 1;i <= n; ++i) {
        cin >> a[i];
    }
    int q;
    cin >> q;
    for(int i = 1;i <= q; ++i) {
        int l,r;
        cin >> l >> r;
        int ans = 0;
        unordered_map<int,int> was;
        for(int j = l,cur = 0;j <= r; ++j) {
            cur += a[j];
            if(was[cur] || cur == 0) {
                ++ans;
                was.clear();
                cur = 0;
                continue;
            }
            was[cur] = 1;
        }
        cout << ans << endl;
    }
    return 0;
}
















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