結果
| 問題 | No.3557 KCPC or KUPC 2 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-05-29 19:32:03 |
| 言語 | C++23 (gcc 15.2.0 + boost 1.89.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 960 bytes |
| 記録 | |
| コンパイル時間 | 2,085 ms |
| コンパイル使用メモリ | 331,440 KB |
| 実行使用メモリ | 6,400 KB |
| 最終ジャッジ日時 | 2026-05-29 19:32:09 |
| 合計ジャッジ時間 | 4,981 ms |
|
ジャッジサーバーID (参考情報) |
judge3_0 / judge2_0 |
(要ログイン)
| サブタスク | 配点 | 結果 |
|---|---|---|
| 部分点1 | 10 % | AC * 20 WA * 10 |
| 部分点2 | 40 % | AC * 19 WA * 11 |
| 部分点3 | 50 % | AC * 24 WA * 6 |
| 合計 | 0 点 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
int main(void){
long long n,a,b,c,d,e,f;
cin>>n>>a>>b>>c>>d>>e>>f;
long long d1,d2;
long long mn=0,mx=1e9;
while(mx-mn){
long long k=(mn+mx+1)/2;
if((__int128)a*k*b+(__int128)c*b*(k+1)*k/2>n){
mx=k-1;
}else{
mn=k;
}
}
d1=mn*b;
long long tn=n-(a*mn*b+c*b*(mn+1)*mn/2);
d1+=(tn+(mn*c+a)-1)/(mn*c+a);
mn=0,mx=1e9;
while(mx-mn){
long long k=(mn+mx+1)/2;
if((__int128)d*k*e+(__int128)f*e*(k+1)*k/2>n){
mx=k-1;
}else{
mn=k;
}
}
d2=mn*e;
tn=n-(d*mn*e+f*e*(mn+1)*mn/2);
//cout<<mn<<" "<<d2<<" "<<tn<<endl;
d2+=(tn+(mn*f+d)-1)/(mn*f+d);
//cout<<d1<<" "<<d2<<endl;
if(d1==d2){
cout<<"Same"<<endl;
}else if(d1<d2){
cout<<"KCPC"<<endl;
}else{
cout<<"KUPC"<<endl;
}
return 0;
}