結果

問題 No.3221 Count Turns
コンテスト
ユーザー vjudge1
提出日時 2025-10-26 17:51:31
言語 C++17(clang)
(17.0.6 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 787 bytes
コンパイル時間 2,664 ms
コンパイル使用メモリ 172,500 KB
実行使用メモリ 8,536 KB
最終ジャッジ日時 2025-10-26 17:51:37
合計ジャッジ時間 5,579 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 31 WA * 5
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<bits/stdc++.h>
using namespace std;
long long n,h,t;
int abab(int x){
	if(h%x==0)    return h/x;
	else return h/x+1;
}
struct noob{
	long long wz;
	long long num;
	long long sum;
	friend bool operator <(noob a,noob b){
		if(a.num!=b.num)return a.num>b.num;
		else if(a.sum!=b.sum) return a.sum<b.sum;
		else return a.wz>b.wz;
	}
}tmp;
priority_queue <noob> q;
long long c[100010];
long long b[100010];
int main(){
	cin>>n>>h>>t;
	long long a[100010];
	for(int i=1;i<=n;i++){
		tmp.wz=i;
		cin>>tmp.sum;
		b[i]=tmp.sum;
		tmp.num=a[i]=abab(tmp.sum);
		q.push(tmp);
	}
	for(int i=1;i<=t;i++){
		tmp=q.top();
		q.pop();
		c[tmp.wz]++;
		tmp.sum+=b[tmp.wz]*tmp.num-h;
		tmp.num+=a[tmp.wz];
		q.push(tmp);
	} 
	for(int i=1;i<=n;i++){
		cout<<c[i]<<" ";
	}
	cout<<"\n";
	return 0;
}
 
0