Submission #1284785

#TimeUsernameProblemLanguageResultExecution timeMemory
1284785Muhammad_AneeqFish 3 (JOI24_fish3)C++20
7 / 100
299 ms6800 KiB
#include <bits/stdc++.h> using namespace std; #define int long long inline void solve() { int n,D; cin>>n>>D; int c[n]; for (auto& i:c) cin>>i; int pre[n+1]={}; for (int i=0;i<n;i++) pre[i+1]=pre[i]+c[i]; int q; cin>>q; while (q--) { int l,r; cin>>l>>r; l--;r--; bool w=c[r]; if (w==0) { int z=pre[r+1]-pre[l]; if (z&&D!=1) { cout<<-1<<endl;continue; } cout<<pre[r+1]-pre[l]<<endl;continue; } int st=l-1,en=r; while (st+1<en) { int mid=(st+en)/2; if (pre[r+1]-pre[mid]==r+1-mid) en=mid; else st=mid; } int z=pre[en]-pre[l]; if (z&&D!=1) { cout<<-1<<endl;continue; } cout<<pre[en]-pre[l]<<endl;continue; } } signed main() { ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); int t=1; for (int i=1;i<=t;i++) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...