Submission #63507998


Source Code Expand

Copy
#include<bits/stdc++.h>
#include<atcoder/all>
using namespace std;
using namespace atcoder;
typedef long long int ll;
typedef long double ld;
typedef vector<ll> vi;
typedef vector<vi> vvi;
typedef vector<vvi> vvvi;
typedef vector<vvvi> vvvvi;
typedef vector<bool> vb;
typedef vector<vb> vvb;
typedef vector<vvb> vvvb;
typedef vector<vvvb> vvvvb;
typedef pair<ll,ll> pi;
typedef pair<ll,pi> ppi;
typedef pair<ll,ppi> pppi;
typedef pair<ll,pppi> ppppi;
#define FOR(i,l,r) for(ll i=l;i<r;i++)
#define REP(i,n) FOR(i,0,n)
#define RFOR(i,l,r) for(ll i=r-1;i>=l;i--)
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include<bits/stdc++.h>
#include<atcoder/all>
using namespace std;
using namespace atcoder;
typedef long long int ll;
typedef long double ld;
typedef vector<ll> vi;
typedef vector<vi> vvi;
typedef vector<vvi> vvvi;
typedef vector<vvvi> vvvvi;
typedef vector<bool> vb;
typedef vector<vb> vvb;
typedef vector<vvb> vvvb;
typedef vector<vvvb> vvvvb;
typedef pair<ll,ll> pi;
typedef pair<ll,pi> ppi;
typedef pair<ll,ppi> pppi;
typedef pair<ll,pppi> ppppi;
#define FOR(i,l,r) for(ll i=l;i<r;i++)
#define REP(i,n) FOR(i,0,n)
#define RFOR(i,l,r) for(ll i=r-1;i>=l;i--)
#define RREP(i,n) RFOR(i,0,n)
#define ALL(x) x.begin(),x.end()
#define F first
#define S second
#define BS(A,x) binary_search(ALL(A),x)
#define LB(A,x) (ll)(lower_bound(ALL(A),x)-A.begin())
#define UB(A,x) (ll)(upper_bound(ALL(A),x)-A.begin())
#define COU(A,x) (UB(A,x)-LB(A,x))
#define sz(c) ((ll)(c).size())
/*
#include<boost/multiprecision/cpp_int.hpp>
namespace mp=boost::multiprecision;
using Bint=mp::cpp_int;
*/
template<typename T>using min_priority_queue=priority_queue<T,vector<T>,greater<T>>;
template<typename T1,typename T2>ostream&operator<<(ostream&os,pair<T1,T2>p){os<<p.F<<" "<<p.S;return os;}
template<typename T1,typename T2>istream&operator>>(istream&is,pair<T1,T2>&p){is>>p.F>>p.S;return is;}
template<typename T>ostream&operator<<(ostream&os,vector<T>v){REP(i,sz(v))os<<v[i]<<(i+1!=sz(v)?" ":"");return os;}
template<typename T>istream&operator>>(istream&is,vector<T>&v){for(T&in:v)is>>in;return is;}
template<class T>bool chmax(T&a,T b){if(a<b){a=b;return 1;}return 0;}
template<class T>bool chmin(T&a,T b){if(b<a){a=b;return 1;}return 0;}
ld dist(ld x1,ld y1,ld x2,ld y2){return sqrtl((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));}
const ld EPS=1e-8;
//*
using mint=modint998244353;
const ll mod=998244353;
//*/
/*
using mint=modint1000000007;
const ll mod=1000000007;
//*/
//using mint=modint;
//*
typedef vector<mint> vm;
typedef vector<vm> vvm;
typedef vector<vvm> vvvm;
typedef vector<vvvm> vvvvm;
ostream&operator<<(ostream&os,mint a){os<<a.val();return os;}
istream&operator>>(istream&is,mint&a){int x;is>>x;a=mint(x);return is;}
//*/
int main(){
  ll N,M;cin>>N>>M;
  vector<vector<pi>>E(N);
  dsu G(N);
  while(M--){
    ll a,b,c;cin>>a>>b>>c;a--;b--;
    E[a].emplace_back(pi(b,c));
    E[b].emplace_back(pi(a,c));
    G.merge(a,b);
  }
  vi D(N,-1);
  REP(i,N)if(D[i]==-1){
    D[i]=0;
    queue<int>Q;
    Q.emplace(i);
    while(sz(Q)){
      auto v=Q.front();Q.pop();
      for(auto[u,c]:E[v]){
        if(D[u]==-1){
          D[u]=D[v]^c;
          Q.emplace(u);
        }
        else{
          if(D[u]!=(D[v]^c)){cout<<-1<<endl;return 0;}
        }
      }
    }
  }
  vi ans(N);
  auto gr=G.groups();
  for(auto V:gr){
    ll x=0;
    REP(i,30){
      ll a=0;
      for(auto v:V){
        if((D[v]>>i)%2)a++;
        else a--;
      }
      if(a>0)x|=1<<i;
    }
    for(auto v:V)ans[v]=D[v]^x;
  }
  cout<<ans<<endl;
  return 0;
}

Submission Info

Submission Time
Task E - Min of Restricted Sum
User TKTYI
Language C++ 23 (gcc 12.2)
Score 450
Code Size 3027 Byte
Status AC
Exec Time 127 ms
Memory 27476 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 450 / 450
Status
AC × 3
AC × 38
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_handmade_00.txt, 01_handmade_01.txt, 01_handmade_02.txt, 01_handmade_03.txt, 01_handmade_04.txt, 01_handmade_05.txt, 01_handmade_06.txt, 01_handmade_07.txt, 01_handmade_08.txt, 01_handmade_09.txt, 02_random_00.txt, 02_random_01.txt, 02_random_02.txt, 02_random_03.txt, 02_random_04.txt, 02_random_05.txt, 02_random_06.txt, 02_random_07.txt, 02_random_08.txt, 02_random_09.txt, 02_random_10.txt, 02_random_11.txt, 02_random_12.txt, 02_random_13.txt, 02_random_14.txt, 02_random_15.txt, 02_random_16.txt, 02_random_17.txt, 02_random_18.txt, 02_random_19.txt, 02_random_20.txt, 02_random_21.txt, 02_random_22.txt, 02_random_23.txt, 02_random_24.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3632 KB
00_sample_01.txt AC 1 ms 3508 KB
00_sample_02.txt AC 1 ms 3620 KB
01_handmade_00.txt AC 1 ms 3680 KB
01_handmade_01.txt AC 42 ms 24240 KB
01_handmade_02.txt AC 1 ms 3492 KB
01_handmade_03.txt AC 4 ms 10316 KB
01_handmade_04.txt AC 1 ms 3512 KB
01_handmade_05.txt AC 4 ms 10296 KB
01_handmade_06.txt AC 45 ms 24360 KB
01_handmade_07.txt AC 121 ms 27476 KB
01_handmade_08.txt AC 99 ms 27400 KB
01_handmade_09.txt AC 57 ms 8172 KB
02_random_00.txt AC 80 ms 14072 KB
02_random_01.txt AC 89 ms 25656 KB
02_random_02.txt AC 112 ms 21960 KB
02_random_03.txt AC 127 ms 26844 KB
02_random_04.txt AC 51 ms 22004 KB
02_random_05.txt AC 93 ms 25952 KB
02_random_06.txt AC 93 ms 16900 KB
02_random_07.txt AC 123 ms 26896 KB
02_random_08.txt AC 67 ms 20124 KB
02_random_09.txt AC 70 ms 25040 KB
02_random_10.txt AC 61 ms 8380 KB
02_random_11.txt AC 73 ms 25392 KB
02_random_12.txt AC 69 ms 9320 KB
02_random_13.txt AC 80 ms 15404 KB
02_random_14.txt AC 50 ms 8800 KB
02_random_15.txt AC 57 ms 14028 KB
02_random_16.txt AC 71 ms 9840 KB
02_random_17.txt AC 83 ms 15580 KB
02_random_18.txt AC 60 ms 21744 KB
02_random_19.txt AC 121 ms 26648 KB
02_random_20.txt AC 19 ms 5796 KB
02_random_21.txt AC 94 ms 16516 KB
02_random_22.txt AC 55 ms 11524 KB
02_random_23.txt AC 89 ms 16580 KB
02_random_24.txt AC 53 ms 8672 KB


2025-03-23 (Sun)
22:18:06 +00:00