제출 #674399

#제출 시각아이디문제언어결과실행 시간메모리
674399vjudge1지구 온난화 (NOI13_gw)C++17
12 / 40
651 ms17480 KiB
#include <bits/stdc++.h> using namespace std; #define F first #define S second #define pb push_back #define all(a) a.begin(), a.end() typedef long long ll; typedef pair<int, int> ii; const int N = 1e6 + 5; const int mod = 1e9 + 7; int n; int a[N], tmp[N]; int check(int k) { int res = 0; for(int i = 1; i <= n; i++) tmp[i] = (a[i] > k); for(int i = 1; i <= n + 1; i++) res += (tmp[i] == 0 && tmp[i - 1] == 1); return res; } void solve() { cin >> n; for(int i = 1; i <= n; i++) cin >> a[i]; int l = 0, r = *max_element(a + 1, a + 1 + n), res = 0; while(r - l >= 3) { int midl = l + (r - l) / 3; int midr = r - (r - l) / 3; if(check(midl) > check(midr)) r = midr; else l = midl; } for(int i = l; i <= r; i++) res = max(res, check(i)); cout << res; } signed main() { cin.tie(0)->sync_with_stdio(0); int t = 1; // cin >> t; while(t--) solve(); return 0; }
#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...