結果

問題 No.3252 Constrained Moving
コンテスト
ユーザー 👑 tails
提出日時 2025-09-06 17:09:19
言語 C
(gcc 15.2.0)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 609 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 140 ms
コンパイル使用メモリ 27,388 KB
最終ジャッジ日時 2026-01-02 15:23:13
合計ジャッジ時間 2,862 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
main.c: In function 'main':
main.c:4:41: error: too many arguments to function 'mmap'; expected 0, have 6
    4 | #define rd_init() char*rp=({char*mmap();mmap(0l,1l<<25,1,2,0,0ll);})
      |                                         ^~~~ ~~
main.c:11:9: note: in expansion of macro 'rd_init'
   11 |         rd_init();
      |         ^~~~~~~
main.c:4:34: note: declared here
    4 | #define rd_init() char*rp=({char*mmap();mmap(0l,1l<<25,1,2,0,0ll);})
      |                                  ^~~~
main.c:11:9: note: in expansion of macro 'rd_init'
   11 |         rd_init();
      |         ^~~~~~~
main.c:26:17: error: implicit declaration of function 'write' [-Wimplicit-function-declaration]
   26 |                 write(1,"1",1);
      |                 ^~~~~
main.c:32:9: error: implicit declaration of function '_exit' [-Wimplicit-function-declaration]
   32 |         _exit(0);
      |         ^~~~~
main.c:32:9: warning: incompatible implicit declaration of built-in function '_exit' [-Wbuiltin-declaration-mismatch]

ソースコード

diff #
raw source code

#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 repeat(e) for(typeof(e)_=e;_--;)
#define max(a,b) (a>=b?a:b)
#define chmin(v,a) (v=v<=a?v:a)

int main(){
	rd_init();
	int n=rd();
	int s=rd();
	int t=rd();
	int k=rd();
	int as=0;
	int at=0;
	int m=1<<30;
	repeat(n){
		int a=rd();
		if(!--s) as=a;
		if(!--t) at=a;
		chmin(m,a);
	}
	if(as+at<=k){
		write(1,"1",1);
	}else if(m+max(as,at)<=k){
		write(1,"2",1);
	}else{
		write(1,"-1",2);
	}
	_exit(0);
}
0