結果

問題 No.3459 Defeat Slimes
コンテスト
ユーザー 👑 tails
提出日時 2026-02-28 16:03:01
言語 cLay
(20250308-1 + boost 1.89.0)
コンパイル:
clayc _filename_
実行:
./a.out
結果
AC  
実行時間 221 ms / 3,000 ms
コード長 577 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 7,866 ms
コンパイル使用メモリ 238,008 KB
実行使用メモリ 28,768 KB
最終ジャッジ日時 2026-02-28 16:03:17
合計ジャッジ時間 15,605 ms
ジャッジサーバーID
(参考情報)
judge3 / judge7
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

ll@n,@y,@z,@(c,l,x)[n],r=0,b=0;
sortA(n,l,c,x);
while(n>0&&l[n-1]>z){
	--n;
}
map<ll,ll>m;
while(r<n){
	while(l[r]<=y){
		m[x[r]]+=c[r];
		if(++r==n){
			break_break;
		}
	}
	if(m.empty()){
		wt(-1);
		exit(0);
	}
	auto&t=*m.rbegin();
	ll a=(l[r]-y)/+t.first;
	a=min(a,t.second);
	y+=a*t.first;
	b+=a;
	if(a==t.second){
		m.erase(t.first);
	}else{
		t.second-=a;
	}
}
while(y<z){
	if(m.empty()){
		wt(-1);
		exit(0);
	}
	auto&t=*m.rbegin();
	ll a=(z-y)/+t.first;
	a=min(a,t.second);
	y+=a*t.first;
	b+=a;
	if(a==t.second){
		m.erase(t.first);
	}else{
		t.second-=a;
	}
}
wt(b);
0