結果

問題 No.2640 traO Stamps
ユーザー noya2
提出日時 2024-02-18 23:17:48
言語 C++23
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 1,828 bytes
コンパイル時間 11,762 ms
コンパイル使用メモリ 381,860 KB
実行使用メモリ 23,136 KB
最終ジャッジ日時 2024-09-29 00:55:49
合計ジャッジ時間 14,069 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample WA * 1
other WA * 33
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<bits/stdc++.h>
#include<atcoder/all>
#include"testlib.h"
using namespace std;
using ll = long long;

const ll Nmin = 2, Nmax = 200;
const ll Kmin = 1, Kmax = 200'000;
const ll Cmin = 0, Cmax = 1'000'000'000;
const ll Qmin = 1, Qmax = 100'000;
const ll Tmin = 1, Tmax = 2;

int main(){
    registerValidation();
    ll n = inf.readLong(Nmin,Nmax);
    inf.readSpace();
    const ll Mmax = n*(n-1)/2;
    ll m = inf.readLong(1LL,Mmax);
    inf.readSpace();
    ll k = inf.readLong(Kmin,Kmax);
    inf.readEoln();
    for (ll i = 0; i <= k; i++){
        if (i != 0){
            inf.readSpace();
        }
        inf.readLong(1LL,n);
    }
    inf.readEoln();
    set<pair<ll,ll>> st;
    atcoder::dsu d(n);
    for (ll i = 0; i < m; i++){
        ll a = inf.readLong(1LL,n);
        inf.readSpace();
        ll b = inf.readLong(1LL,n);
        inf.readSpace();
        inf.readLong(Cmin,Cmax);
        inf.readEoln();
        ensuref(a < b, "A[i] < B[i]");
        st.insert(pair<ll,ll>(a,b));
        a--, b--;
        d.merge(a,b);
    }
    ensuref((ll)(st.size()) == m, "(A[i],B[i]) are must be distinct");
    ensuref((ll)(d.size(0)) == n, "graph must be connected");
    ll q = inf.readLong(Qmin,Qmax);
    inf.readEoln();
    bool t2_done = false;
    for (ll i = 0; i < q; i++){
        ll t = inf.readLong(Tmin,Tmax);
        inf.readSpace();
        if (t == 1){
            ll x = inf.readLong(0LL,k);
            inf.readSpace();
            ll y = inf.readLong(1LL,n);
            inf.readEoln();
        }
        else {
            t2_done = true;
            ll x = inf.readLong(0LL,k);
            inf.readSpace();
            ll y = inf.readLong(0LL,k);
            inf.readEoln();
            ensuref(x <= y, "x <= y");
        }
    }
    ensuref(t2_done, "T = 2 did not come");
    inf.readEof();
}
0