#!/bin/sh f=/tmp/o$$ cat >$f.cpp <<'EOF' #include #include #include #include #include #include using namespace std; int main(int ac,char**av){int A=atoi(av[1]),B=atoi(av[2]),C=atoi(av[3]);double h=.5;int W=280,H=220,N=W*H,P=667,K=A+B+C;vector>p;for(int y=0;y<=110;y+=5)for(int x=0;x<=140;x+=5)p.push_back({x,y});vector>>v(3,vector>(P));for(int t=0;t<3;t++)for(int q=0;qtyp(A,0);typ.insert(typ.end(),B,1);typ.insert(typ.end(),C,2);mt19937 g(12345+A*100+B*10+C);int best=0;vectorbs,bt;auto st=chrono::steady_clock::now();for(int rep=0;;rep++){if(chrono::duration(chrono::steady_clock::now()-st).count()>5.2)break;auto tt=typ;shuffle(tt.begin(),tt.end(),g);vectors(K);vectorcnt(N);int cur=0;for(int k=0;kbg||(gg==bg&&g()%20==0))bg=gg,bq=z;}s[k]=bq;for(int u:v[t][bq])if(cnt[u]++==0)cur++;}for(int sw=0;sw<3;sw++){bool imp=0;vectorord(K);iota(ord.begin(),ord.end(),0);shuffle(ord.begin(),ord.end(),g);for(int a:ord){int t=tt[a],o=s[a],base=cur;for(int u:v[t][o])if(--cnt[u]==0)base--;int bv=cur,bq=o;for(int z=0;zbv)bv=w,bq=z;}for(int u:v[t][bq])cnt[u]++;s[a]=bq;if(bv>cur)cur=bv,imp=1;}if(!imp)break;}if(cur>best)best=cur,bs=s,bt=tt;}cout<