제출 #785345

#제출 시각아이디문제언어결과실행 시간메모리
785345christinelynnGlobal Warming (CEOI18_glo)C++17
0 / 100
2062 ms2928 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int n, x, t[200005], ans = 0; void solve(int l, int r, int s) { map<int, int> maks; set<int, greater<int>> memo; set<int>::iterator it; int cur; for (int i = l; i <= r; i++) { t[i] += s; } stack<int> st; int temp; for (int i = 1; i <= n; i++) { while (!st.empty()) { if (t[i] <= st.top()) st.pop(); else break; } st.push(t[i]); memo.insert(t[i]); temp = st.size(); maks[t[i]] = max(maks[t[i]], temp); // if (memo.size() > 1) { // for (it = memo.begin(); it != memo.end(); it++) { // if ((*it) == t[i]) break; // } // it++; // if (it != memo.end()) { // maks[t[i]] = max(maks[t[i]], maks[*it]+1); // } // } for (it = memo.begin(); it != memo.end(); it++) { if ((*it) < t[i]) { maks[t[i]] = max(maks[t[i]], maks[*it]+1); } } temp = maks[t[i]]; cout << i << " " << t[i] << " " << temp << endl; ans = max(temp, ans); } for (int i = l; i <= r; i++) { t[i] -= s; } } signed main() { cin >> n >> x; for (int i = 1; i <= n; i++) cin >> t[i]; if (x == 0) { solve(1, n, 0); cout << ans << endl; return 0; } for (int l = 1; l <= n; l++) { for (int r = l; r <= n; r++) { for (int s = -x; s <= x; s++) { solve(l, r, s); } } } cout << ans << endl; }

컴파일 시 표준 에러 (stderr) 메시지

glo.cpp: In function 'void solve(long long int, long long int, long long int)':
glo.cpp:12:7: warning: unused variable 'cur' [-Wunused-variable]
   12 |   int cur;
      |       ^~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...