# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
477881 | 2021-10-04T10:09:35 Z | sumit_kk10 | 지구 온난화 (NOI13_gw) | C++17 | 574 ms | 65540 KB |
#include <bits/stdc++.h> #define fast ios_base::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL) #define ll long long int #define ld long double using namespace std; const int N = 1000003; const int MOD = 1e9 + 7; void solve(){ int n; cin >> n; vector<int> a(n); for(int i = 0; i < n; ++i) cin >> a[i]; vector<pair<int, int> > comp; for(int i = 0; i < n; ++i) comp.push_back({a[i], i}); sort(comp.begin(), comp.end()); int ct = 1; a[comp[0].second] = ct; for(int i = 1; i < comp.size(); ++i){ if(comp[i].first != comp[i - 1].first) ++ct; a[comp[i].second] = ct; } vector<int> pos[ct + 2]; for(int i = 0; i < n; ++i) pos[a[i]].push_back(i); int x = 0; for(int j = 0; j < n; ++j){ int cur = j; while(a[cur] > 1 and cur < n) ++cur; if(cur != j){ j = cur - 1; ++x; } } vector<bool> mp(n + 1, 0); for(auto k : pos[1]) mp[k] = true; int ans = x; for(int i = 2; i <= ct; ++i){ for(auto k : pos[i]){ if(k >= 1 and mp[k - 1] and mp[k + 1]){ --x; mp[k] = true; continue; } if(k >= 1 and mp[k - 1]){ if(k == n - 1) --x; mp[k] = true; continue; } if(mp[k + 1]){ if(k == 0) --x; mp[k] = true; continue; } if(k != 0 and k != n - 1) x++; mp[k] = true; } ans = max(ans, x); } cout << ans << "\n"; } int main(){ fast; int t = 1; // cin >> t; while(t--) solve(); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 332 KB | Output is correct |
2 | Correct | 1 ms | 332 KB | Output is correct |
3 | Correct | 1 ms | 332 KB | Output is correct |
4 | Correct | 1 ms | 332 KB | Output is correct |
5 | Correct | 1 ms | 332 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 22 ms | 2120 KB | Output is correct |
2 | Correct | 19 ms | 2144 KB | Output is correct |
3 | Correct | 19 ms | 2120 KB | Output is correct |
4 | Correct | 20 ms | 2148 KB | Output is correct |
5 | Correct | 22 ms | 2120 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 34 ms | 6876 KB | Output is correct |
2 | Correct | 31 ms | 6984 KB | Output is correct |
3 | Correct | 34 ms | 6884 KB | Output is correct |
4 | Correct | 33 ms | 6848 KB | Output is correct |
5 | Correct | 38 ms | 6848 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 384 ms | 65540 KB | Execution killed with signal 9 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 574 ms | 43536 KB | Memory limit exceeded |
2 | Halted | 0 ms | 0 KB | - |