Submission #337143

#TimeUsernameProblemLanguageResultExecution timeMemory
337143deadeyeGlobal Warming (NOI13_gw)C++17
19 / 40
222 ms42128 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define pb push_back #define fi first #define si second typedef pair<int,int> pi; #ifdef LOCAL #define debug(...) __f(#__VA_ARGS__, __VA_ARGS__) #else #define debug(...) 69 #endif template <typename Arg> void __f(string name, Arg arg) { cerr << name << " = " << arg << endl; } template <typename Head, typename... Tail> void __f(string names, Head head, Tail... tail) { string cur = ""; for (auto ch: names){if(ch==','){break;}else{cur+=ch;}} string nxt = names.substr(cur.size()+2); cerr << cur << " = " << head << ", "; __f(nxt, tail...); } int N, ret, cur; vector<int> v; vector<pi> events; int32_t main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> N; vector<int> A(N + 1); for (int i = 1; i <= N; ++i) cin >> A[i]; for (int i = 1; i <= N; ++i) { if (A[i] != A[i - 1]) { v.pb(A[i]); } } int n = v.size(); if (n == 1) { cout << 1; return 0; } for (int i = 1; i < n - 1; ++i) { if (v[i] > v[i - 1] && v[i] > v[i + 1]) { events.pb({v[i], 0}); } else if (v[i] < v[i - 1] && v[i] < v[i + 1]) { events.pb({v[i], 1}); } } if (v[0] > v[1]) events.pb({v[0], 0}); if (v[n - 1] > v[n - 2]) events.pb({v[n - 1], 0}); sort(events.begin(), events.end(), greater<pi>()); for (auto i: events) { if (!i.si) cur += 1; else cur -= 1; ret = max(cur, ret); } cout << ret; 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...