Submission #1044599
Source Code Expand
#include <algorithm> #include <bitset> #include <cassert> #include <cfloat> #include <climits> #include <cmath> #include <complex> #include <cstdio> #include <cstdlib> #include <cstring> #include <ctime> #include <fstream> #include <functional> #include <iomanip> #include <iostream> #include <list> #include <map> #include <memory> #include <numeric> #include <queue> #include <set> #include <sstream> #include <stack> #include <string> #include <utility> #include <vector> // c++11 #include <array> #include <tuple> #include <unordered_map> #include <unordered_set> #define mp make_pair #define mt make_tuple #define rep(i, n) for (int i = 0; i < (n); i++) using namespace std; using ll = long long; using ull = unsigned long long; using pii = pair<int, int>; const int INF = 1 << 29; const double EPS = 1e-9; const ll MOD = 1000000007; const int dx[] = {1, 0, -1, 0}, dy[] = {0, -1, 0, 1}; const int MAX_N = (int)1e5 + 10; int N,K; vector<int> A; vector<ll> sum,val; int main() { cin >> N >> K; A.resize(N); sum.resize(N); val.resize(N); for (auto &val : A){ cin >> val; } sum[0] = A[0]; val[0] = max(0LL, (ll)A[0]); for (int i = 1; i < N; i++){ sum[i] += sum[i - 1] + A[i]; val[i] += val[i - 1] + max(0, A[i]); } ll res = 0; for (int i = 0; i < N; i++){ if (i + K - 1 < N){ ll cost = sum[i + K - 1]; if (i - 1 >= 0){ cost -= sum[i - 1]; } //black ll left,right; left = right = 0; if (i - 1 >= 0){ left = val[i - 1]; } right = val[N - 1]; right -= val[i + K - 1]; res = max(res, cost + left + right); res = max(res, left + right); } } cout << res << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - Contiguous Repainting |
User | togatoga |
Language | C++14 (GCC 5.4.1) |
Score | 400 |
Code Size | 1803 Byte |
Status | AC |
Exec Time | 56 ms |
Memory | 2304 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt |
All | 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
0_00.txt | AC | 3 ms | 256 KB |
0_01.txt | AC | 2 ms | 256 KB |
0_02.txt | AC | 3 ms | 256 KB |
0_03.txt | AC | 2 ms | 256 KB |
1_00.txt | AC | 2 ms | 256 KB |
1_01.txt | AC | 2 ms | 256 KB |
1_02.txt | AC | 2 ms | 256 KB |
1_03.txt | AC | 27 ms | 2176 KB |
1_04.txt | AC | 52 ms | 2176 KB |
1_05.txt | AC | 56 ms | 2176 KB |
1_06.txt | AC | 49 ms | 2176 KB |
1_07.txt | AC | 50 ms | 2176 KB |
1_08.txt | AC | 52 ms | 2304 KB |
1_09.txt | AC | 50 ms | 2176 KB |
1_10.txt | AC | 49 ms | 2176 KB |
1_11.txt | AC | 51 ms | 2176 KB |
1_12.txt | AC | 51 ms | 2176 KB |
1_13.txt | AC | 50 ms | 2176 KB |
1_14.txt | AC | 49 ms | 2176 KB |
1_15.txt | AC | 51 ms | 2176 KB |
1_16.txt | AC | 50 ms | 2176 KB |
1_17.txt | AC | 48 ms | 2176 KB |
1_18.txt | AC | 50 ms | 2176 KB |
1_19.txt | AC | 48 ms | 2176 KB |
1_20.txt | AC | 50 ms | 2176 KB |
1_21.txt | AC | 50 ms | 2176 KB |