結果
| 問題 | No.3557 KCPC or KUPC 2 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-05-29 19:26:23 |
| 言語 | C++23 (gcc 15.2.0 + boost 1.89.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,258 bytes |
| 記録 | |
| コンパイル時間 | 2,028 ms |
| コンパイル使用メモリ | 334,544 KB |
| 実行使用メモリ | 7,976 KB |
| 最終ジャッジ日時 | 2026-05-29 19:26:32 |
| 合計ジャッジ時間 | 6,583 ms |
|
ジャッジサーバーID (参考情報) |
judge4_1 / judge3_1 |
(要ログイン)
| サブタスク | 配点 | 結果 |
|---|---|---|
| 部分点1 | 10 % | AC * 15 WA * 15 |
| 部分点2 | 40 % | AC * 25 WA * 5 |
| 部分点3 | 50 % | AC * 30 |
| 合計 | 50 点 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
typedef vector<int> VI;
typedef vector<VI> VVI;
typedef vector<long long> VL;
typedef vector<VL> VVL;
typedef long long LL;
#define all(a) (a).begin(), (a).end()
#define Yes(n) cout << ((n) ? "Yes" : "No" ) << endl
#define YES(n) cout << ((n) ? "YES" : "NO" ) << endl
#define ALL(a) (a).begin(),(a).end()
#define pb push_back
LL maxx=0;
LL wa(LL a,LL b){
if(a>=maxx-b){return maxx;}
return a+b;
}
LL seki(LL a,LL b){
if(b==0){return 0;}
if(a>=maxx/b){return maxx;}
return a*b;
}
LL g(LL a,LL b,LL c,LL t){
LL k=t/b;
LL p=wa(a,seki(k,c));
LL ans=seki(p,t-k*b);
ans=wa(ans,seki(a,seki(k,b)));
p=seki(k,k-1)/2;
p=seki(p,b);
p=seki(p,c);
ans=wa(ans,p);
return ans;
}
LL f(LL n,LL a,LL b,LL c){
LL l=0,r=n,t;
while(r-l>1){
//cout<<l<<' '<<r<<endl;
t=(r+l)/2;
//cout<<g(a,b,c,t)<<endl;
if(g(a,b,c,t)<n){l=t;}
else{r=t;}
}
return r;
}
int main() {std::ios_base::sync_with_stdio(false); std::cin.tie(NULL);
LL n,a,b,c,d,e,ff;
cin>>n>>a>>b>>c>>d>>e>>ff;
maxx=n*10;
LL p=f(n,a,b,c),q=f(n,d,e,ff);
if(p==q){cout<<"Same"<<endl;}
else if(p<q){cout<<"KCPC"<<endl;}
else{cout<<"KUPC"<<endl;}
}