제출 #877121

#제출 시각아이디문제언어결과실행 시간메모리
877121auslanderBigger segments (IZhO19_segments)C++17
0 / 100
1 ms2396 KiB
#include <algorithm> #include <iostream> #include <vector> #include <iterator> using namespace std; typedef long long ll; const int N = 5e5; ll arr[N], pref[N]; int main() { ll i, j, n, m; cin >> n; for (i = 0; i < n; i++) cin >> arr[i]; vector<ll>v; ll p = arr[0]; ll k = 0; j = 0; ll res = 1; for (i = 1; i < n; i++) { k += arr[i]; pref[j] = k; if (p <= k) { res++; vector<ll>::iterator it = upper_bound(v.begin(), v.end(), (k - p) / 2); if (it == v.begin()) { p = k; k = 0; j = 0; v.erase(v.begin(), v.end()); } else { p = k - pref[(it - v.begin()) - 1]; k = 0; j = 0; v.erase(v.begin(), v.end()); } } else { v.push_back(k); j++; } } cout << res << endl; return 0; }

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

segments.cpp: In function 'int main()':
segments.cpp:13:14: warning: unused variable 'm' [-Wunused-variable]
   13 |  ll i, j, n, m;
      |              ^
#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...