제출 #1148632

#제출 시각아이디문제언어결과실행 시간메모리
1148632yeysoFish 3 (JOI24_fish3)C++20
0 / 100
356 ms9196 KiB
#include <bits/stdc++.h> #define int long long using namespace std; signed main(){ int n, d; cin >> n >> d; vector<int> c(n, 0); for(int i = 0; i < n; i ++){ cin >> c[i]; } int q; cin >> q; vector<int> prefix(n+1, 0); vector<int> bad(n+1, 0); for(int i = 0; i < n; i ++){ prefix[i+1] = prefix[i] + c[i]; bad[i+1] = bad[i]; if(i > 0 && c[i] == 0 && c[i-1] == 1){ bad[i+1] += 1; } } /*for(int i = 1; i < n + 1; i ++){ cout << bad[i] << " "; } cout << "\n";*/ for(int i = 0; i < q; i ++){ //vector<int> cc = c; int res = 0; int l, r; cin >> l >> r; l -= 1; r -= 1; if(d != 1){ if(bad[r + 1] != bad[l + 1]){ res = -1; } } else { res = prefix[r + 1] - prefix[l + 1]; } //cout << " - "; cout << res << "\n"; /*for(int i = r - 1; i >= l; i --){ if(cc[i] > cc[i+1]){ res += ceil((double)(cc[i] - cc[i+1]) / d); cc[i] -= ceil((double)(cc[i] - cc[i+1]) / d) * d; } } for(int i = l; i <= r; i ++){ if(cc[i] < 0) res = -1; } //cout << " - " << res << "\n"; cout << res << "\n";*/ } } /* g++ -std=gnu++17 -O2 -pipe -o fish fish.cpp 7 1 0 0 1 0 1 1 0 4 1 2 2 4 2 3 4 6 */
#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...