結果

問題 No.3557 KCPC or KUPC 2
コンテスト
ユーザー yuunegi
提出日時 2026-05-29 19:32:03
言語 C++23
(gcc 15.2.0 + boost 1.89.0)
コンパイル:
g++-15 -O2 -lm -std=c++23 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
WA  
実行時間 -
コード長 960 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 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 点
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#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;
}
0