Submission #1179577

#TimeUsernameProblemLanguageResultExecution timeMemory
1179577NonozeFish 3 (JOI24_fish3)C++20
7 / 100
381 ms11508 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define pb push_back #define sz(x) (int)x.size() #define all(x) (x).begin(), (x).end() #define rall(x) (x).rbegin(), (x).rend() #define fi first #define se second #define cmin(a, b) a=min(a, b) #define cmax(a, b) a=max(a, b) void solve(); signed main() { ios::sync_with_stdio(0); cin.tie(0); solve(); return 0; } int n, k, q; vector<int> a; void solve() { cin >> n >> k; a.resize(n); for (auto &u: a) cin >> u; vector<int> pref=a; for (int i=1; i<n; i++) pref[i]+=pref[i-1]; set<pair<int, int>> st; int act=0; for (int i=0; i<n; i++) { if (a[i]) act++; else { if (act) st.insert({i-act, i-1}); act=0; } } cin >> q; while (q--) { int l, r; cin >> l >> r; l--, r--; auto lb=st.lower_bound({r+1, r}); if (lb==st.begin()) { cout << 0 << endl; continue; } lb--; if (lb->second>=r) { if (lb==st.begin()) { cout << 0 << endl; continue; } lb--; } int nb=max(0LL, pref[lb->second]-(l?pref[l-1]:0LL)); if (!nb || k==1) cout << nb << endl; else cout << -1 << endl; } }
#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...