Submission #332250

#TimeUsernameProblemLanguageResultExecution timeMemory
332250a_playerColors (RMI18_colors)C++14
15 / 100
1046 ms3308 KiB
#include <bits/stdc++.h> using namespace std; const int nax=1e5+5; vector<int> grafo[nax]; int a[nax],b[nax]; int ind[nax]; bool cmp(int u, int v){ return b[u]>b[v]; } void solve(){ for(int i=0;i<nax;i++){ grafo[i].clear(); } int n,m; cin>>n>>m; int root=-1; for(int i=0;i<n;i++)cin>>a[i]; for(int i=0;i<n;i++)cin>>b[i]; for(int i=0;i<m;i++){ int u,v; cin>>u>>v; u--,v--; grafo[u].push_back(v); grafo[v].push_back(u); } int mas=0; for(int i=0;i<n;i++){ if(mas<grafo[i].size()){ mas=grafo[i].size(); root=i; } } iota(ind,ind+n,0); sort(ind,ind+n,cmp); for(int i=0;i<n;i++){ int x=ind[i]; if(x==root)continue; if(a[x]==b[x])continue; for(int j=0;j<n;j++){ if(b[x]==a[j]&&b[x]<=a[root]&&b[x]<=a[x]){ a[root]=b[x]; a[x]=b[x]; break; } } } for(int i=0;i<n;i++)if(a[i]==b[root]&&b[root]<=a[root])a[root]=b[root]; for(int i=0;i<n;i++)if(a[i]!=b[i]){ cout<<0<<endl; return; } cout<<1<<endl; } int main(){ int tt; cin>>tt; while(tt--)solve(); }

Compilation message (stderr)

colors.cpp: In function 'void solve()':
colors.cpp:30:9: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   30 |   if(mas<grafo[i].size()){
      |      ~~~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...