Submission #101980


Source Code Expand

#include <iostream>
#include <algorithm>
using namespace std;

typedef long long lli;

const int N = 100000;

int n,m,w[N];
lli v[N],sum[N];

void solve(){
  sum[0] = 0;
  for(int i=0;i<n/2;i++) sum[0] += v[i];
  int L = 0, R = n/2;
  for(int i=1;i<n;i++){
    sum[i] = sum[i-1];
    sum[i] -= v[L];
    sum[i] += v[R];
    L = (L + 1) % n;
    R = (R + 1) % n;
  }

  int ansi = 0;
  lli ans = sum[0];
  for(int i=0;i<m;i++){
    ansi = (ansi + w[i]-1) % n;
    ans = max(ans, sum[ansi]);
  }
  cout << ans << endl;
    
}

int main(){
  while(cin >> n >> m){
    for(int i=0;i<n;i++) cin >> v[i];
    for(int i=0;i<m;i++) cin >> w[i];
    solve();
  }
}

Submission Info

Submission Time
Task J - Very Intellectual Card Game
User aizu_b
Language C++ (GCC 4.4.7)
Score 100
Code Size 696 Byte
Status AC
Exec Time 137 ms
Memory 2732 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 23 ms 804 KB
10 AC 21 ms 800 KB
11 AC 21 ms 804 KB
12 AC 21 ms 796 KB
13 AC 95 ms 2212 KB
14 AC 67 ms 1452 KB
15 AC 135 ms 2732 KB
16 AC 133 ms 2724 KB
17 AC 137 ms 2668 KB
18 AC 135 ms 2720 KB
2 AC 21 ms 808 KB
3 AC 19 ms 928 KB
4 AC 20 ms 804 KB
5 AC 21 ms 804 KB
6 AC 21 ms 800 KB
7 AC 21 ms 808 KB
8 AC 21 ms 932 KB
9 AC 20 ms 804 KB