結果

問題 No.2662 Installing Cell Towers
ユーザー tails
提出日時 2025-01-03 22:17:01
言語 C
(gcc 13.3.0)
結果
AC  
実行時間 8 ms / 2,000 ms
コード長 756 bytes
コンパイル時間 924 ms
コンパイル使用メモリ 26,368 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2025-01-03 22:17:05
合計ジャッジ時間 3,676 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 18
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c: In function ‘main’:
main.c:43:17: warning: implicit declaration of function ‘write’ [-Wimplicit-function-declaration]
   43 |                 write(1,wp,wbuf+sizeof wbuf-wp);
      |                 ^~~~~
main.c:45:9: warning: implicit declaration of function ‘_exit’ [-Wimplicit-function-declaration]
   45 |         _exit(0);
      |         ^~~~~
main.c:45:9: warning: incompatible implicit declaration of built-in function ‘_exit’ [-Wbuiltin-declaration-mismatch]

ソースコード

diff #

#pragma GCC optimize("Ofast")
#pragma GCC target("avx2")

#define rd_init() char*rp=({char*mmap();mmap(0l,1l<<25,1,2,0,0ll);})
#define rd() ({int _v=0,_c;while(_c=*rp++-48,_c>=0)_v=_v*10+_c;_v;})
#define wt(v) ({ulong _z=v;do*--wp=_z%10+48;while(_z/=10);})
#define rrep(v,e) for(typeof(e) v=e;v--;)

typedef unsigned long ulong;

char wbuf[1<<25];
long c[100000];

int main(){
	long n;
	long a=0;
	long b=0;
	{
		rd_init();
		n=rd();
		for(long m=rd();m--;){
			long p=rd()-1;
			long q=rd();
			if(p-q>=0){
				c[p-q]+=1;
			}
			c[p]+=-2;
			if(p+q<n){
				c[p+q]+=1;
			}else{
				b+=1;
				a+=p+q-n+1;
			}
		}
	}
	{
		char*wp=wbuf+sizeof wbuf;
		rrep(x,n){
			*--wp=' ';
			wt(a);
			a+=b+=c[x];
		}
		write(1,wp,wbuf+sizeof wbuf-wp);
	}
	_exit(0);
}
0