結果

問題 No.1097 Remainder Operation
ユーザー DriceDrice
提出日時 2020-06-27 00:18:08
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 1,349 bytes
コンパイル時間 214 ms
コンパイル使用メモリ 32,128 KB
実行使用メモリ 10,624 KB
最終ジャッジ日時 2024-07-05 01:40:33
合計ジャッジ時間 6,077 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
10,624 KB
testcase_01 AC 2 ms
5,376 KB
testcase_02 WA -
testcase_03 WA -
testcase_04 WA -
testcase_05 WA -
testcase_06 AC 2 ms
5,376 KB
testcase_07 WA -
testcase_08 WA -
testcase_09 WA -
testcase_10 WA -
testcase_11 WA -
testcase_12 WA -
testcase_13 WA -
testcase_14 WA -
testcase_15 WA -
testcase_16 WA -
testcase_17 WA -
testcase_18 WA -
testcase_19 WA -
testcase_20 WA -
testcase_21 TLE -
testcase_22 -- -
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

#include<cstdio>
long long a[100005];
long long sum[100005];
int vis[100005];
int step[100005];
long long getSum(int r,int k,int n){
long long res = 0;
for(int i = 0; i < k; i++){
res += a[r];
r = res%n;
}
return res;
}
int main(){
int n;
scanf("%d",&n);
for(int i = 0; i < n; i++) scanf("%lld",&a[i]);
vis[0] = 1, step[0] = 0, sum[0] = 0;
int u = 0; int cycle = -1, start = -1;
long long weight = 0;
while(true){
int v = (u+a[u])%n;
//printf("u = %d v = %d\n",u,v);
if(vis[v]==1){
cycle = step[u]+1-step[v];
start = v;
weight = sum[u]+a[u]-sum[v];
break;
}
else{
vis[v] = 1;
step[v] = step[u]+1;
sum[v] = sum[u]+a[u];
u = v;
}
}
//printf("start = %d, cycle = %d, weight = %lld\n",start,cycle,weight);
int q;
scanf("%d",&q);
while(q--){
int k;
scanf("%d",&k);
if(k<step[start]) printf("%lld\n",getSum(0,k,n));
else{
long long ans = 0;
k -= step[start];
ans += sum[start];
long long cnt = k/cycle;
ans += cnt*weight;
ans += getSum(start,k%cycle,n);
printf("%lld\n",ans);
}
}
return 0;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0