結果

問題 No.142 単なる配列の操作に関する実装問題
コンテスト
ユーザー testestest
提出日時 2015-12-14 03:10:30
言語 C90
(gcc 12.4.0)
コンパイル:
gcc-12 -O2 -std=c90 -DONLINE_JUDGE -o a.out _filename_ -lm
実行:
./a.out
結果
AC  
実行時間 1,504 ms / 5,000 ms
コード長 370 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 228 ms
コンパイル使用メモリ 30,660 KB
最終ジャッジ日時 2026-02-23 20:04:18
ジャッジサーバーID
(参考情報)
judge2 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 5
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c:1:34: warning: data definition has no type or storage class
    1 | unsigned long a[32000],b[1600],t;x,y,z,i,m=64;main(n){for(scanf("%d%d%d%d%d%*d",&n,&t,&x,&y,&z);i++<n;t=(t*x+y)%z)a[i/m]|=t%2<<i%m;for(;~scanf("%d%d%d%*d",&z,&x,&y);){x-=z-1;t=z%m;for(i=-1;++i*m<x;b[i]|=a[i+z/m]>>t)b[i]=t?a[z/m-~i]<<m-t:0;z=m-x%m;b[i-1]=b[i-1]<<z>>z;for(t=y%m;i--;a[y/m+i]^=b[i]<<t)t?a[y/m-~i]^=b[i]>>m-t:0;}for(i=0;i++<n;)putchar(a[i/m]>>i%m&1?79:69);}
      |                                  ^
main.c: In function ‘main’:
main.c:1:59: warning: incompatible implicit declaration of built-in function ‘scanf’ [-Wbuiltin-declaration-mismatch]
    1 | unsigned long a[32000],b[1600],t;x,y,z,i,m=64;main(n){for(scanf("%d%d%d%d%d%*d",&n,&t,&x,&y,&z);i++<n;t=(t*x+y)%z)a[i/m]|=t%2<<i%m;for(;~scanf("%d%d%d%*d",&z,&x,&y);){x-=z-1;t=z%m;for(i=-1;++i*m<x;b[i]|=a[i+z/m]>>t)b[i]=t?a[z/m-~i]<<m-t:0;z=m-x%m;b[i-1]=b[i-1]<<z>>z;for(t=y%m;i--;a[y/m+i]^=b[i]<<t)t?a[y/m-~i]^=b[i]>>m-t:0;}for(i=0;i++<n;)putchar(a[i/m]>>i%m&1?79:69);}
      |                                                           ^~~~~
main.c:1:1: note: include ‘<stdio.h>’ or provide a declaration of ‘scanf’
  +++ |+#include <stdio.h>
    1 | unsigned long a[32000],b[1600],t;x,y,z,i,m=64;main(n){for(scanf("%d%d%d%d%d%*d",&n,&t,&x,&y,&z);i++<n;t=(t*x+y)%z)a[i/m]|=t%2<<i%m;for(;~scanf("%d%d%d%*d",&z,&x,&y);){x-=z-1;t=z%m;for(i=-1;++i*m<x;b[i]|=a[i+z/m]>>t)b[i]=t?a[z/m-~i]<<m-t:0;z=m-x%m;b[i-1]=b[i-1]<<z>>z;for(t=y%m;i--;a[y/m+i]^=b[i]<<t)t?a[y/m-~i]^=b[i]>>m-t:0;}for(i=0;i++<n;)putchar(a[i/m]>>i%m&1?79:69);}
main.c:1:69: warning: format ‘%d’ expects argument of type ‘int *’, but argument 3 has type ‘long unsigned int *’ [-Wformat=]
    1 | unsigned long a[32000],b[1600],t;x,y,z,i,m=64;main(n){for(scanf("%d%d%d%d%d%*d",&n,&t,&x,&y,&z);i++<n;t=(t*x+y)%z)a[i/m]|=t%2<<i%m;for(;~scanf("%d%d%d%*d",&z,&x,&y);){x-=z-1;t=z%m;for(i=-1;++i*m<x;b[i]|=a[i+z/m]>>t)b[i]=t?a[z/m-~i]<<m-t:0;z=m-x%m;b[i-1]=b[i-1]<<z>>z;for(t

ソースコード

diff #
raw source code

unsigned long a[32000],b[1600],t;x,y,z,i,m=64;main(n){for(scanf("%d%d%d%d%d%*d",&n,&t,&x,&y,&z);i++<n;t=(t*x+y)%z)a[i/m]|=t%2<<i%m;for(;~scanf("%d%d%d%*d",&z,&x,&y);){x-=z-1;t=z%m;for(i=-1;++i*m<x;b[i]|=a[i+z/m]>>t)b[i]=t?a[z/m-~i]<<m-t:0;z=m-x%m;b[i-1]=b[i-1]<<z>>z;for(t=y%m;i--;a[y/m+i]^=b[i]<<t)t?a[y/m-~i]^=b[i]>>m-t:0;}for(i=0;i++<n;)putchar(a[i/m]>>i%m&1?79:69);}
0