AtCoder Grand Contest 008

Submission #1574852

Source codeソースコード

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<algorithm>
#include<cmath>
#include<queue>
#include<vector>
#include<stack>
using namespace std;

#define int long long
#define REP(i,n) for(int i=0;(i)<(n);(i)++)
#define ll long long

static const long long INFTY = 1234567891011121314;

int a[100005];
int acc[1000005];//累積和
int sum[100005];//正の数だけ拾った累積和

signed main() {
	int N, K;
	
	cin >> N >> K;

	REP(i, N) {
		cin >> a[i];
	}

	
	REP(i, N) {
		if (i == 0) {
			acc[i] = a[i];
			continue;
		}
		acc[i] = acc[i - 1] + a[i];
	}

	
	REP(i, N) {
		if (i == 0) {
			if (a[i] > 0)sum[i] = a[i];
			else sum[i] = 0;
			continue;
		}
		if (a[i] > 0)sum[i] = sum[i - 1] + a[i];
		else sum[i] = sum[i - 1];
	}

	int ans = 0;
	int temp = 0;
	for (int i = 0;i <= N - K;i++) {
		if (i == 0) {
			ans = max(ans, (max(acc[i + K - 1], 0LL) + sum[N - 1] - sum[i + K - 1]));
		}
		else {
			ans = max(ans, (sum[i - 1] + max((acc[i + K - 1] - acc[i - 1]), 0LL) + sum[N - 1] - sum[i + K - 1]));
		}
	}

	/*
	REP(i, N) {
		cout << acc[i] << " ";
	}
	cout << endl;
	REP(i, N) {
		cout << sum[i] << " ";
	}
	cout << endl;
	*/

	cout << ans << endl;

	return 0;
}

Submission

Task問題 B - Contiguous Repainting
User nameユーザ名 takiteke
Created time投稿日時
Language言語 C++14 (GCC 5.4.1)
Status状態 AC
Score得点 400
Source lengthソースコード長 1314 Byte
File nameファイル名
Exec time実行時間 48 ms
Memory usageメモリ使用量 2560 KB

Test case

Set

Set name Score得点 / Max score Cases
Sample - 0_00.txt,0_01.txt,0_02.txt,0_03.txt
All 400 / 400 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

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
0_00.txt AC 1 ms 256 KB
0_01.txt AC 1 ms 256 KB
0_02.txt AC 1 ms 256 KB
0_03.txt AC 1 ms 256 KB
1_00.txt AC 1 ms 256 KB
1_01.txt AC 1 ms 256 KB
1_02.txt AC 1 ms 256 KB
1_03.txt AC 18 ms 2560 KB
1_04.txt AC 44 ms 2560 KB
1_05.txt AC 48 ms 2560 KB
1_06.txt AC 43 ms 2560 KB
1_07.txt AC 42 ms 2560 KB
1_08.txt AC 43 ms 2560 KB
1_09.txt AC 43 ms 2560 KB
1_10.txt AC 42 ms 2560 KB
1_11.txt AC 43 ms 2560 KB
1_12.txt AC 43 ms 2560 KB
1_13.txt AC 43 ms 2560 KB
1_14.txt AC 41 ms 2560 KB
1_15.txt AC 44 ms 2560 KB
1_16.txt AC 43 ms 2560 KB
1_17.txt AC 41 ms 2560 KB
1_18.txt AC 43 ms 2560 KB
1_19.txt AC 41 ms 2560 KB
1_20.txt AC 43 ms 2560 KB
1_21.txt AC 43 ms 2560 KB