제출 #968882

#제출 시각아이디문제언어결과실행 시간메모리
96888212345678Sum Zero (RMI20_sumzero)C++17
22 / 100
1072 ms5204 KiB
#include <bits/stdc++.h>

using namespace std;

const int nx=4e5+5;

#define ll long long

ll n, q, a[nx], l, r, dp[nx];

int main()
{
    cin.tie(NULL)->sync_with_stdio(false);
    cin>>n;
    for (int i=1; i<=n;i ++) cin>>a[i];
    for (int i=1; i<=n; i++)
    {
        ll sm=0;
        for (int j=i; j>=0; j--)
        {
            sm+=a[j];
            if (sm==0)
            {
                dp[i]=j;
                break;
            }
        }
    }
    for (int i=1; i<=n; i++) dp[i]=max(dp[i], dp[i-1]); //cout<<"dp "<<i<<' '<<dp[i]<<'\n';
    cin>>q;
    while (q--)
    {
        cin>>l>>r;
        ll res=0;
        while (r>=l)
        {
            if (dp[r]<l) break;
            r=dp[r]-1;
            res++;
        }
        cout<<res<<'\n';
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...