# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
224149 | 2020-04-17T08:54:16 Z | SomeoneUnknown | Fire (JOI20_ho_t5) | C++14 | 147 ms | 9968 KB |
#include <bits/stdc++.h> using namespace std; typedef pair<int, int> ii; ii mii(int a, int b){ return make_pair(a,b); } int main(){ int n, q; scanf("%d %d", &n, &q); bool constt = true; int str[n]; for(int i = 0; i < n; i++){ scanf("%d", &str[i]); } int ts[q]; int ss[q]; int es[q]; for(int i = 0; i < q; i++){ scanf("%d %d %d", &ts[i], &ss[i], &es[i]); if(i > 0 && ts[i] != ts[i-1]) constt = false; } if(constt){ deque<ii> dq; int spfs[n+1]; spfs[0] = 0; for(int i = 0; i < n; i++){ if(i > ts[0]){ while(dq.front().second < i-ts[0]) dq.pop_front(); } while(!dq.empty() && dq.back().first < str[i]){ dq.pop_back(); } dq.push_back(mii(str[i], i)); spfs[i+1] = spfs[i] + dq.front().first; } for(int i = 0; i < q; i++){ printf("%d\n", spfs[es[i]]-spfs[ss[i]-1]); } } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 256 KB | Output is correct |
2 | Incorrect | 5 ms | 256 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 256 KB | Output is correct |
2 | Incorrect | 147 ms | 9968 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 256 KB | Output is correct |
2 | Incorrect | 126 ms | 6264 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 107 ms | 6008 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 256 KB | Output is correct |
2 | Incorrect | 5 ms | 256 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |