Submission #162466

#TimeUsernameProblemLanguageResultExecution timeMemory
162466MvCPolitical Development (BOI17_politicaldevelopment)C++11
0 / 100
2952 ms22076 KiB
#pragma GCC target("avx2") #pragma GCC optimization("O3") #pragma GCC optimization("unroll-loops") #include <bits/stdc++.h> #define rc(x) return cout<<x<<endl,0 #define pb push_back #define mkp make_pair #define in insert #define er erase #define fd find #define fr first #define sc second typedef long long ll; typedef long double ld; const ll INF=0x3f3f3f3f3f3f3f3f; const ll llinf=(1LL<<62); const int inf=(1<<30); const int nmax=5e4+50; const ll mod=611953; const ll p=37; using namespace std; int n,k,x,i,j,d[nmax],nr,rs=1,t,c[nmax],ls; ll pw,hs; int sz[15][mod+5]; int main() { //freopen("sol.in","r",stdin); //freopen("sol.out","w",stdout); //mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); ios_base::sync_with_stdio(false);cin.tie(0);cerr.tie(0);cout.tie(0); cin>>n>>k; for(i=1;i<=n;i++) { cin>>d[i]; for(j=0;j<d[i];j++)cin>>c[j],c[j]++; sort(c,c+d[i]); for(j=0;j<(1<<d[i]);j++) { if(__builtin_popcount(j)+1>k)continue; ls=-1; nr=0; pw=1,hs=0; for(t=0;t<d[i];t++) { if(j&(1<<t)) { if(c[t]>i && ls<i) { hs=(hs+i*pw%mod)%mod; pw=(pw*p)%mod; nr++; } hs=(hs+c[t]*pw%mod)%mod; pw=(pw*p)%mod; ls=c[t]; nr++; } } if(ls<i && ls!=-1) { hs=(hs+pw*i%mod)%mod; nr++; } if(nr<2)continue; sz[nr][hs]++; if(sz[nr][hs]==nr)rs=max(rs,nr); if(rs==k)rc(rs); if(clock() / (double) CLOCKS_PER_SEC>2.95)rc(k-5); } } cout<<rs<<endl; return 0; }

Compilation message (stderr)

politicaldevelopment.cpp:2:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization("O3")
 
politicaldevelopment.cpp:3:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization("unroll-loops")
#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...