Submission #101945


Source Code Expand

#include <bits/stdc++.h>
#define REP(i,n) for(int i=0; i<(int)(n); ++i)

using namespace std;
typedef long long ll;

const int    INF = 1000000000;
const int    MOD = 1000000007;
const double EPS = 1e-8;

int main(){
    int N, M;
    while(cin >> N >> M){
        vector<ll> a(N);
        REP(i, N) cin >> a[i];
        vector<ll> sum(2 * N + 2);
        REP(i, N) sum[i + 1] = sum[i] + a[i];
        REP(i, N) sum[N + i + 1] = sum[N + i] + a[i];
        ll ans = sum[N / 2];
        int p = 0;
        REP(_, M){
            int k;
            cin >> k;
            k--;
            p = (p + k) % N;
            //cout << p << " " << p + N / 2 << " " << sum[p + N / 2] - sum[p] << endl;
            ans = max(ans, sum[p + N / 2] - sum[p]);
        }
        cout << ans << endl;
    }
    return 0;
}

Submission Info

Submission Time
Task J - Very Intellectual Card Game
User YellowYell
Language C++11 (GCC 4.8.1)
Score 100
Code Size 835 Byte
Status AC
Exec Time 141 ms
Memory 3108 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 18
Set Name Test Cases
All 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2, 3, 4, 5, 6, 7, 8, 9
Case Name Status Exec Time Memory
1 AC 22 ms 920 KB
10 AC 21 ms 932 KB
11 AC 24 ms 808 KB
12 AC 21 ms 800 KB
13 AC 99 ms 2596 KB
14 AC 66 ms 1308 KB
15 AC 133 ms 3104 KB
16 AC 137 ms 3108 KB
17 AC 134 ms 3108 KB
18 AC 141 ms 3100 KB
2 AC 22 ms 928 KB
3 AC 21 ms 800 KB
4 AC 21 ms 740 KB
5 AC 21 ms 924 KB
6 AC 21 ms 676 KB
7 AC 21 ms 804 KB
8 AC 22 ms 804 KB
9 AC 21 ms 804 KB