提出 #17631821


ソースコード 拡げる

#include<bits/stdc++.h>
using namespace std;
// #include <ext/pb_ds/assoc_container.hpp> 
// #include <ext/pb_ds/detail/standard_policies.hpp>
// using namespace __gnu_pbds;

#pragma GCC optimize("O3")
#ifdef LOCAL
#include "/Users/lbjlc/Desktop/coding/debug_utils.h"
#else
#define print(...) ;
#define printn(...) ;
#define printg(...) ;
#define fprint(...) ;
#define fprintn(...) ;
#endif

#define rep(i, a, b) for(auto i = (a); i < (b); i++)
#define rrep(i, a, b) for(auto i = (a); i > (b); i--)
#define all(v) (v).begin(), (v).end()
#define pb push_back
// #define mp make_pair
#define fi first
#define se second
#define maxi(x, y) x = max(x, y)
#define mini(x, y) x = min(x, y)
// long long fact(long long n) { if(!n) return 1; return n*fact(n-1); }
// #define endl '\n'
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
int get_random() {
    static uniform_int_distribution<int> dist(0, 1e9 + 6);
    return dist(rng);
}
#define solve_testcase int T;cin>>T;for(int t=1;t<=T;t++){solve(t);}


typedef unsigned long long ull;
typedef long long ll;
 
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef pair<double, double> pdd;
 
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<vvi> vvvi;
typedef vector<pii> vpii;
typedef vector<pll> vpll;
typedef vector<pdd> vpdd;
typedef vector<long long> vll;
#define bd(type,op,val) bind(op<type>(), std::placeholders::_1, val)

template<class T>
void make_unique(T & v) {
    sort(v.begin(), v.end()); v.erase(unique(v.begin(), v.end()), v.end());
}
int geti() { int x; cin >> x; return x; }
long long getll() { long long x; cin >> x; return x; }
double getd() { double x; cin >> x; return x; }
// pair<int, int> a(geti(), geti()) does not work
// pair<int, int> a({geti(), geti()}) works, since it uses initializer.

const int MAXN = 3e5 + 100;

void solve(int tt) {
    // cout<<"Case #"<<tt<<": ";
}

int a[MAXN],b[MAXN];
vi graph[MAXN];
ll sa,sb;
int vis[MAXN]={};

void dfs(int i,int p) {
	vis[i]=1;
	sa+=a[i];
	sb+=b[i];
	for(auto j:graph[i]) {
		if(j!=p&&!vis[j]) dfs(j,i);
	}
}

int main(int argc, char * argv[]) {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    // solve_testcase;

    int n,m;
    cin>>n>>m;
    rep(i,0,n) cin>>a[i];
    rep(i,0,n) cin>>b[i];

    int u,v;
    rep(i,0,m) {
    	cin>>u>>v;
    	u--;v--;
    	graph[u].pb(v);
    	graph[v].pb(u);
    }
    int ok=1;
    rep(i,0,n) {
    	if(!vis[i]) {
    		sa=sb=0;
    		dfs(i,-1);
    		if(sa!=sb) ok=0;
    		// print(sa,sb);
    	}
    }
    cout<<(ok?"Yes":"No")<<endl;




    return 0;
}











提出情報

提出日時
問題 B - Values
ユーザ lbjlc
言語 C++ (GCC 9.2.1)
得点 400
コード長 2735 Byte
結果 AC
実行時間 116 ms
メモリ 20228 KiB

コンパイルエラー

./Main.cpp: In function ‘void solve(int)’:
./Main.cpp:65:16: warning: unused parameter ‘tt’ [-Wunused-parameter]
   65 | void solve(int tt) {
      |            ~~~~^~
./Main.cpp: In function ‘int main(int, char**)’:
./Main.cpp:83:14: warning: unused parameter ‘argc’ [-Wunused-parameter]
   83 | int main(int argc, char * argv[]) {
      |          ~~~~^~~~
./Main.cpp:83:27: warning: unused parameter ‘argv’ [-Wunused-parameter]
   83 | int main(int argc, char * argv[]) {
      |                    ~~~~~~~^~~~~~

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 400 / 400
結果
AC × 4
AC × 44
セット名 テストケース
Sample 00_sample_00, 00_sample_01, 00_sample_02, 00_sample_03
All 00_sample_00, 00_sample_01, 00_sample_02, 00_sample_03, 01_small_0, 01_small_1, 01_small_2, 01_small_3, 01_small_4, 01_small_5, 01_small_6, 01_small_7, 01_small_8, 01_small_9, 02_large_0, 02_large_1, 02_largecon_0, 02_largecon_1, 02_largecon_2, 02_largecon_3, 02_largecon_4, 02_largecon_5, 02_toolarge_0, 02_toolarge_1, 02_toolarge_2, 02_toolarge_3, 03_few_e_0, 03_few_e_1, 03_few_e_2, 03_few_e_3, 03_few_e_4, 03_few_e_5, 03_is_tree_0, 03_is_tree_1, 03_is_tree_2, 03_is_tree_3, 04_kill_overflow_0, 04_kill_overflow_1, 04_kill_overflow_2, 04_kill_overflow_3, 04_sumequal_0, 04_sumequal_1, 04_sumequal_2, 04_sumequal_3
ケース名 結果 実行時間 メモリ
00_sample_00 AC 11 ms 10572 KiB
00_sample_01 AC 9 ms 10620 KiB
00_sample_02 AC 15 ms 10652 KiB
00_sample_03 AC 9 ms 10568 KiB
01_small_0 AC 14 ms 10528 KiB
01_small_1 AC 9 ms 10608 KiB
01_small_2 AC 10 ms 10644 KiB
01_small_3 AC 17 ms 10572 KiB
01_small_4 AC 12 ms 10680 KiB
01_small_5 AC 9 ms 10648 KiB
01_small_6 AC 10 ms 10524 KiB
01_small_7 AC 10 ms 10576 KiB
01_small_8 AC 11 ms 10520 KiB
01_small_9 AC 8 ms 10608 KiB
02_large_0 AC 72 ms 15024 KiB
02_large_1 AC 41 ms 13400 KiB
02_largecon_0 AC 99 ms 20080 KiB
02_largecon_1 AC 98 ms 18740 KiB
02_largecon_2 AC 106 ms 20228 KiB
02_largecon_3 AC 74 ms 17156 KiB
02_largecon_4 AC 109 ms 18884 KiB
02_largecon_5 AC 102 ms 19884 KiB
02_toolarge_0 AC 116 ms 19908 KiB
02_toolarge_1 AC 111 ms 19500 KiB
02_toolarge_2 AC 103 ms 18720 KiB
02_toolarge_3 AC 113 ms 20036 KiB
03_few_e_0 AC 37 ms 12144 KiB
03_few_e_1 AC 44 ms 12576 KiB
03_few_e_2 AC 40 ms 12216 KiB
03_few_e_3 AC 45 ms 12532 KiB
03_few_e_4 AC 46 ms 12616 KiB
03_few_e_5 AC 42 ms 12352 KiB
03_is_tree_0 AC 83 ms 17356 KiB
03_is_tree_1 AC 73 ms 16588 KiB
03_is_tree_2 AC 68 ms 16088 KiB
03_is_tree_3 AC 71 ms 16484 KiB
04_kill_overflow_0 AC 108 ms 19844 KiB
04_kill_overflow_1 AC 88 ms 17672 KiB
04_kill_overflow_2 AC 89 ms 18700 KiB
04_kill_overflow_3 AC 79 ms 17520 KiB
04_sumequal_0 AC 52 ms 13952 KiB
04_sumequal_1 AC 37 ms 13452 KiB
04_sumequal_2 AC 21 ms 11528 KiB
04_sumequal_3 AC 40 ms 12648 KiB