제출 #1308945

#제출 시각아이디문제언어결과실행 시간메모리
1308945lyra_g13Feast (NOI19_feast)C++20
30 / 100
29 ms5088 KiB
#include <bits/stdc++.h> using ll = long long; using namespace std; int main() { std::ios_base::sync_with_stdio(false); std::cin.tie(nullptr); ll n, s; cin >> n >> s; vector<ll> a(n); for (int i = 0; i < n; i++) { cin >> a[i]; } ll pos = 0; ll sum = 0; ll neg = 0; ll zero = 0; for (int i = 0; i < n; i++) { cin >> a[i]; sum += a[i]; if (a[i] > 0) pos++; if (a[i] == 0) { zero++; } if (a[i] < 0) { neg++; } } if (s == 1) { vector<ll> pref(n); pref[0] = a[0]; for (int i = 1; i < n; i++) { pref[i] = pref[i - 1] + a[i]; } ll minpref = 0; ll count = 0; ll maxcount = 0; for (int i = 0; i < n; i++) { count = pref[i] - minpref; if (count > maxcount) { maxcount = count; } minpref = min(minpref, pref[i]); } cout << maxcount << "\n"; return 0; } // sub 1 if (pos + zero == n) { cout << sum << "\n"; return 0; } // sub2 if (neg == 1 and s > 1) { sum = 0; for (int i = 0; i < n; i++) { if (a[i] >= 0) { sum += a[i]; } } cout << sum << "\n"; return 0; } // sub 3 }
#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...