Submission #428303

#TimeUsernameProblemLanguageResultExecution timeMemory
428303Blistering_BarnaclesSplit the Attractions (IOI19_split)C++14
0 / 100
9 ms13308 KiB
#include "split.h" //apig's property //Happiness can be found, even in the darkest of times, if one only remembers to turn on the light //El Pueblo Unido Jamas Sera Vencido //The saddest thing about betrayal? is that it never comes from your enemies //Do or do not... there is no try //Billions of bilious blue blistering barnacles in a thundering typhoon! #include<bits/stdc++.h> #define fast ios_base::sync_with_stdio(0) , cin.tie(0) , cout.tie(0) #define F first #define S second #define pb push_back #define vll vector< ll > #define vi vector< int > #define pll pair< ll , ll > #define pi pair< int , int > #define all(s) s.begin() , s.end() #define sz(s) s.size() #define str string #define md ((s + e) / 2) #define mid ((l + r) / 2) #define msdp(dp) memset(dp , -1 , sizeof dp) #define mscl(dp) memset(dp , 0 , sizeof dp) #define C continue #define R return #define B break #define lx node * 2 #define rx node * 2 + 1 #define br(o) o ; break #define co(o) o ; continue using namespace std; typedef int ll; ll q, dp[105][100005], a[555555] , b[555555], k, l, m, n, o, p; map < ll , ll > mp; vll adj[555555] , v; const ll mod = 1e9+7; str s; void dfs(ll u , ll par){ //cout << cnt << endl ; if(sz(v) == b[2] || a[u])R ; a[u]++ ; v.pb(u) ; if(sz(v) == b[2])R ; for(auto uu : adj[u]){ if(uu == par)C ; dfs(uu , u) ; } } vector<int> find_split(int n, int a1, int b1, int c, vector<int> p1, vector<int> q) { b[1] = a1 , b[2] = b1 , b[3] = c , m = sz(p1) ; for(ll i = 1 ; i <= m ; i++){ o = p1[i - 1] , p = q[i - 1] ; o++ , p++ ; adj[o].pb(p) , adj[p].pb(o) ; } dfs(1 , 0) ; vll ret ; ll op = 0 ; for(ll i = 1 ; i <= n ; i++){ if(find(all(v) , i) != v.end()){ ret.pb(op + 1) ; } else if(!op){ op++ ; ret.pb(1) ; } else { ret.pb(3) ; } } R ret ; } /* 7 6 1 3 3 0 1 1 2 2 3 3 4 4 5 5 6 */

Compilation message (stderr)

split.cpp: In function 'void dfs(ll, ll)':
split.cpp:40:14: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'll' {aka 'int'} [-Wsign-compare]
   40 |     if(sz(v) == b[2] || a[u])R ;
      |              ^
split.cpp:43:14: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'll' {aka 'int'} [-Wsign-compare]
   43 |     if(sz(v) == b[2])R ;
      |              ^
#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...