Submission #1552963


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
#define FOR(i, n) for(int i = 0; i < (n); i++)
#define MEM(a, x) memset(a, x, sizeof(a))
#define ALL(a) a.begin(), a.end()
#define UNIQUE(a) a.erase(unique(ALL(a)), a.end())
typedef long long ll;

int n, a[55];
const int MAX = 55;

struct segment_tree {
	int mod, t[2*MAX];
	void build() {
		for(int i = 0; i < n; i++) t[i + n] = (i % 2 == mod ? a[i] : 0);
		for(int i = n-1; i >= 1; i--) t[i] = t[i<<1] + t[i<<1|1];
	}
	// [l,r]
	int query(int l, int r) {
		++r;
		int ret = 0;
		for(l += n, r += n; l < r; l >>= 1, r >>= 1) {
			if(l & 1) ret += t[l++];
			if(r & 1) ret += t[--r];
		}
		return ret;
	}
} st[2];

int main(int argc, char const *argv[]) {
	ios_base::sync_with_stdio(false);
	cin >> n;
	FOR(i, n) cin >> a[i];
	FOR(i, 2) {
		st[i].mod = i;
		st[i].build();
	}
	int ans = -1000000000;
	FOR(i, n) {
		int mx = -1000000000, my = -1000000000;
		for (int j = n-1; j >= 0; j--) {
			if (i == j) continue;
			int l = min(i, j), r = max(i, j);
			int x = st[0].query(l, r), y = st[1].query(l, r);
			if (l & 1) swap(x, y);
			if (y >= my) {
				mx = x;
				my = y;
			}
		}
		ans = max(ans, mx);
	}
	cout << ans << endl;
	return 0;
}

Submission Info

Submission Time
Task C - 数列ゲーム
User moguta
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1241 Byte
Status AC
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 3
AC × 23
Set Name Test Cases
Sample sample-01.txt, sample-02.txt, sample-03.txt
All sample-01.txt, sample-02.txt, sample-03.txt, test-01.txt, test-02.txt, test-03.txt, test-04.txt, test-05.txt, test-06.txt, test-07.txt, test-08.txt, test-09.txt, test-10.txt, test-11.txt, test-12.txt, test-13.txt, test-14.txt, test-15.txt, test-16.txt, test-17.txt, test-18.txt, test-19.txt, test-20.txt
Case Name Status Exec Time Memory
sample-01.txt AC 1 ms 256 KB
sample-02.txt AC 1 ms 256 KB
sample-03.txt AC 1 ms 256 KB
test-01.txt AC 1 ms 256 KB
test-02.txt AC 1 ms 256 KB
test-03.txt AC 1 ms 256 KB
test-04.txt AC 1 ms 256 KB
test-05.txt AC 1 ms 256 KB
test-06.txt AC 1 ms 256 KB
test-07.txt AC 1 ms 256 KB
test-08.txt AC 1 ms 256 KB
test-09.txt AC 1 ms 256 KB
test-10.txt AC 1 ms 256 KB
test-11.txt AC 1 ms 256 KB
test-12.txt AC 1 ms 256 KB
test-13.txt AC 1 ms 256 KB
test-14.txt AC 1 ms 256 KB
test-15.txt AC 1 ms 256 KB
test-16.txt AC 1 ms 256 KB
test-17.txt AC 1 ms 256 KB
test-18.txt AC 1 ms 256 KB
test-19.txt AC 1 ms 256 KB
test-20.txt AC 1 ms 256 KB