結果
| 問題 | 
                            No.1245 ANDORゲーム(calc)
                             | 
                    
| コンテスト | |
| ユーザー | 
                             tails
                         | 
                    
| 提出日時 | 2020-11-01 23:24:29 | 
| 言語 | C  (gcc 13.3.0)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 9 ms / 2,000 ms | 
| コード長 | 1,241 bytes | 
| コンパイル時間 | 338 ms | 
| コンパイル使用メモリ | 32,896 KB | 
| 実行使用メモリ | 6,948 KB | 
| 最終ジャッジ日時 | 2024-07-22 06:03:08 | 
| 合計ジャッジ時間 | 4,073 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 25 | 
コンパイルメッセージ
main.c: In function 'main':
main.c:61:9: warning: implicit declaration of function 'write' [-Wimplicit-function-declaration]
   61 |         write(1,wbuf,wp-wbuf);
      |         ^~~~~
main.c:62:9: warning: implicit declaration of function '_exit'; did you mean '_Exit'? [-Wimplicit-function-declaration]
   62 |         _exit(0);
      |         ^~~~~
      |         _Exit
            
            ソースコード
// original:
// https://yukicoder.me/submissions/569228
#pragma GCC optimize("Ofast")
#pragma GCC target("avx2")
char*mmap();
#define RD(v) int v=0;{int c;while(c=*rp++-48,c>=0)v=v*10+c;}
union{
	int a[100000];
	char wbuf[16*100000];
}u;
#define a u.a
#define wbuf u.wbuf
int main() {
	char*rp=mmap(0l,11*200003,1,2,0,0ll);
	int x = 0, y = 0;
	long tot = 0;
	char* s;
	RD(n);
	RD(q);
	for (int i = 0; i < n; i++) { RD(x); a[i]=x; }
	s=rp; rp+=n+1;
	for (int i = n; i-- ;) if (!(s[i]&1)) {
		x |= ~a[i];
		tot += y ^ (y & ~x);
		y &= ~x;
	}
	else {
		y |= a[i];
		tot += x ^ (x & ~y);
		x &= ~y;
	}
	char*wp=wbuf;
	for(int i=0;i<q;++i){
		RD(t);
		long z=tot + (t & x) + (~t & y);
		wp+=15;
		int d;
		*--wp=z%10+48,z/=10;
		*--wp=z?d=z%10+48,z/=10,d:32;
		*--wp=z?d=z%10+48,z/=10,d:32;
		*--wp=z?d=z%10+48,z/=10,d:32;
		*--wp=z?d=z%10+48,z/=10,d:32;
		*--wp=z?d=z%10+48,z/=10,d:32;
		*--wp=z?d=z%10+48,z/=10,d:32;
		*--wp=z?d=z%10+48,z/=10,d:32;
		*--wp=z?d=z%10+48,z/=10,d:32;
		*--wp=z?d=z%10+48,z/=10,d:32;
		*--wp=z?d=z%10+48,z/=10,d:32;
		*--wp=z?d=z%10+48,z/=10,d:32;
		*--wp=z?d=z%10+48,z/=10,d:32;
		*--wp=z?d=z%10+48,z/=10,d:32;
		*--wp=z?d=z%10+48,z/=10,d:32;
		wp+=15;
		*wp++=10;
	}
	write(1,wbuf,wp-wbuf);
	_exit(0);
}
	
	
            
            
            
        
            
tails