結果

問題 No.1307 Rotate and Accumulate
コンテスト
ユーザー penguinman
提出日時 2020-12-04 04:00:57
言語 C(gnu17)
(gcc 15.2.0)
コンパイル:
gcc-15 -O2 -std=gnu17 -Wno-error=implicit-function-declaration -Wno-error=implicit-int -Wno-error=incompatible-pointer-types -Wno-error=int-conversion -DONLINE_JUDGE -o a.out _filename_ -lm
実行:
./a.out
結果
TLE  
実行時間 -
コード長 670 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 322 ms
コンパイル使用メモリ 38,976 KB
最終ジャッジ日時 2026-02-22 06:29:27
ジャッジサーバーID
(参考情報)
judge1 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 5 TLE * 2 -- * 12
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include<stdio.h>
#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
int N,Q,A[100000],B[100000],cnt[100000];
int main(){
    scanf("%d%d",&N,&Q);
    for(int i=0;i<N;i++) scanf("%d",&A[i]);
    while(Q--){
        int now; scanf("%d",&now);
        cnt[now]++;
    }
    for(int i=0;i<N;i++){
        if(!cnt[i]) continue;
        int c=cnt[i];
        for(int j=0;j<N;j++){
            int mem=A[i],d=c;
            while(d){
                if(d&1) B[j]+=mem;
                mem<<=1;
                d>>=1;
            }
            i++;
            if(i==N) i=0;
        }
    }
    for(int i=0;i<N;i++) printf("%d ",B[i]);
}
0