# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
165262 | 2019-11-26T10:06:31 Z | Bojack | 3단 점프 (JOI19_jumps) | C++14 | 71 ms | 7272 KB |
#include <bits/stdc++.h> using namespace std; typedef long long ll; void solve() { int n; scanf("%d", &n); vector <int> a(n); for(int i = 0; i < n; i++) { scanf("%d", &a[i]); } int q; scanf("%d", &q); while(q--) { int l, r; scanf("%d", &l, &r); } stack <pair<int, int>> s; vector <pair <int, int>> can; for(int i = n - 1; i >= 0; i--) { while(!s.empty() and s.top().first < a[i]) { s.pop(); } if(s.empty()) { } else { can.push_back({i, s.top().second}); } s.push({a[i], i}); } while(!s.empty()) s.pop(); for(int i = 0; i < n; i++) { while(!s.empty() and s.top().first < a[i]) { s.pop(); } if(s.empty()) { } else { can.push_back({s.top().second, i}); } s.push({a[i], i}); } vector <int> mx(n); mx[n - 1] = a[n - 1]; for(int i = n - 2; i >= 0; i--) { mx[i] = max(mx[i + 1], a[i]); } int ans = 0; for(auto p : can) { int i = p.first; int j = p.second; if(i > j) swap(i, j); if(j + j - i < n) ans = max(ans, a[i] + a[j] + mx[j + j - i]); } printf("%d\n", ans); } int main() { solve(); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Incorrect | 2 ms | 256 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Incorrect | 2 ms | 256 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 57 ms | 7132 KB | Output is correct |
2 | Correct | 71 ms | 6076 KB | Output is correct |
3 | Correct | 45 ms | 6916 KB | Output is correct |
4 | Correct | 55 ms | 7272 KB | Output is correct |
5 | Correct | 57 ms | 7264 KB | Output is correct |
6 | Correct | 47 ms | 6364 KB | Output is correct |
7 | Correct | 46 ms | 6376 KB | Output is correct |
8 | Correct | 48 ms | 6380 KB | Output is correct |
9 | Correct | 51 ms | 6604 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Incorrect | 2 ms | 256 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |