Submission #2853260
Source Code Expand
#include <iostream>
#include <algorithm>
#include <cmath>
#include <iomanip>
#include <vector>
#include <utility>
#include <numeric>
#include <string>
#include <set>
#include <map>
#include <tuple>
#include <queue>
#include <stack>
#include <deque>
#define rep(i, a, n) for(int (i) = (int)(a);(i) < (int)(n);++(i))
#define repe(i, a, n) for(int (i) = (int)(a);(i) <= (int)(n);++(i))
#define repif(i, a, x) for(int (i) = (int)(a);(x);++(i))
#define repr(i, a, n) for(int (i) = (int)(a);(i) > (int)(n);--(i))
#define reper(i, a, n) for(int (i) = (int)(a);(i) >= (int)(n);--(i))
#define SIZE(x) ((int)(x).size())
#define ALL(x) (x).begin(), (x).end()
#define RNG(x, n) &((x)[0]), &((x)[n])
#define BRK(x) { (x); break; }
#define ADD(a, b) ((((a)%MOD)+((b)%MOD))%MOD)
#define MUL(a, b) ((((a)%MOD)*((b)%MOD))%MOD)
#define FLOOR(x) ((int)floor(((double)x)))
#define CEIL(x) ((int)ceil(((double)x)))
#define YES cout << "YES" << endl
#define NO cout << "NO" << endl
#define Yes cout << "Yes" << endl
#define No cout << "No" << endl
#define yes cout << "yes" << endl;
#define no cout << "no" << endl;
#define fcout cout << fixed << setprecision(10)
#define pb push_back
#define pf push_front
#define mt make_tuple
#define fi first
#define se second
#define EPS (1e-20)
#define INF 2147483647
#define MOD 1000000007
using llint = long long;
using VI = std::vector<int>;
using PII = std::pair<int, int>;
using SI = std::set<int>;
using MII = std::map<int, int>;
using TIII = std::tuple<int, int, int>;
using VLL = std::vector<llint>;
using MCI = std::map<char, int>;
using namespace std;
int N;
int a[60];
int T[60][60];
int A[60][60];
void makeTA(){
rep(i, 0, N){
rep(j, 0, N){
if(i == j) T[i][j] = A[i][j] = -INF;
else if(i < j){
repe(k, i, j){
if((k-i)%2 == 0) T[i][j] += a[k];
else A[i][j] += a[k];
}
}
else {
repe(k, j, i){
if((k-j)%2 == 0) T[i][j] += a[k];
else A[i][j] += a[k];
}
}
}
}
}
int solve(){
int ans = -INF;
rep(i, 0, N)
ans = max(ans, T[i][max_element(RNG(A[i], N))-&A[i][0]]);
return ans;
}
signed main(){
cin >> N;
rep(i, 0, N) cin >> a[i];
makeTA();
cout << solve() << endl;
return 0;
}
Submission Info
Submission Time |
|
Task |
C - 数列ゲーム |
User |
AqFv |
Language |
C++14 (GCC 5.4.1) |
Score |
100 |
Code Size |
2270 Byte |
Status |
AC |
Exec Time |
1 ms |
Memory |
256 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
100 / 100 |
Status |
|
|
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 |