Submission #862910

#TimeUsernameProblemLanguageResultExecution timeMemory
862910faustaadpBeech Tree (IOI23_beechtree)C++17
9 / 100
113 ms31540 KiB
#include "beechtree.h" #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll, ll> pll; #define pb push_back #define mp make_pair #define fi first #define se second const ll NN = 2e5 + 5; vector<pll> v[NN]; ll ada[NN], ade[NN]; std::vector<int> beechtree(int N, int M, std::vector<int> P, std::vector<int> C) { vector<int> ret(N, 0); for(ll i = 1; i < N; i++) v[P[i]].pb(mp(i, C[i])); ret[0] = 1; { vector<ll> tmp; for(auto a : v[0]) { ada[a.se] = 1; tmp.pb(a.se); } sort(tmp.begin(), tmp.end()); for(ll j = 1; j < tmp.size(); j++) if(tmp[j - 1] == tmp[j]) ret[0] = 0; } vector<pair<ll, vector<ll> > > vv; for(ll i = 1; i < N; i++) if(v[i].size() == 0) ret[i] = 1; else { ret[i] = 1; vector<ll> tmp; for(auto a : v[i]) tmp.pb(a.se); sort(tmp.begin(), tmp.end()); for(ll j = 0; j < tmp.size(); j++) { if(!ada[tmp[j]]) ret[0] = 0; } for(ll j = 1; j < tmp.size(); j++) if(tmp[j - 1] == tmp[j]) { ret[0] = 0; ret[i] = 0; } vv.pb(mp((ll)tmp.size(), tmp)); } sort(vv.begin(), vv.end()); for(ll i = 1; i < vv.size(); i++) { for(auto a : vv[i].se)ade[a] = i; for(auto a : vv[i - 1].se) if(ade[a] != i) ret[0] = 0; } return ret; }

Compilation message (stderr)

beechtree.cpp: In function 'std::vector<int> beechtree(int, int, std::vector<int>, std::vector<int>)':
beechtree.cpp:27:25: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |         for(ll j = 1; j < tmp.size(); j++)
      |                       ~~^~~~~~~~~~~~
beechtree.cpp:43:29: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   43 |             for(ll j = 0; j < tmp.size(); j++)
      |                           ~~^~~~~~~~~~~~
beechtree.cpp:48:29: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   48 |             for(ll j = 1; j < tmp.size(); j++)
      |                           ~~^~~~~~~~~~~~
beechtree.cpp:57:21: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<std::pair<long long int, std::vector<long long int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   57 |     for(ll i = 1; i < vv.size(); i++)
      |                   ~~^~~~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...