Submission #1243970

#TimeUsernameProblemLanguageResultExecution timeMemory
1243970meisgoodArt Class (IOI13_artclass)C++20
89 / 100
32 ms3328 KiB
#include "artclass.h" #include <bits/stdc++.h> using namespace std ; int rbdif ; int rgdif ; int bgdif ; int ttdif ; int rv ; int gv ; int bv ; int ttd ; vector <int> prop[4]={ {42,23,-19,189,166,146,17,389}, {38,4,-34,102,97+50,63,31,404}, {37,12,-25,151,138,113,89,709}, {102,68,-34,157,89,54,5,981} } ; void calc(){ rbdif/=9 ; rgdif/=9 ; bgdif/=9 ; ttdif/9 ; rv/=9 ; gv/=9 ; bv/=9 ; ttd/=9 ; // cout << rbdif << " " << rgdif << " " << bgdif << " " << rv << " " << gv << " " << bv << " " << " " << ttd << " " << ttdif << endl ; } #define runnnn vector <int> divv={1,1,0,10,5,5,1,50} ; int style(int H, int W, int R[500][500], int G[500][500], int B[500][500]) { int tt=0 ; int ttc=0 ; int i,j ; int rr=0,gg=0,bb=0 ; for (i = 0 ; i < H ; i ++){ for (j = 0 ; j < W ; j ++){ rr+=R[i][j] ; gg+=G[i][j] ; bb+=B[i][j] ; if (i!=H-1) ttc++,tt+=abs(R[i][j]-R[i+1][j])+abs(G[i][j]-G[i+1][j])+abs(B[i][j]-B[i+1][j]) ; if (j!=W-1) ttc++,tt+=abs(R[i][j]-R[i][j+1])+abs(G[i][j]-G[i][j+1])+abs(B[i][j]-B[i][j+1]) ; } } tt/=ttc ; rr/=(H*W) ; gg/=(H*W) ; bb/=(H*W) ; // cout << rr << " " << gg << " " << bb << " " << tt << endl ; int arr[5]={0,0,0,0,0} ; rbdif+=rr-bb ; rgdif+=rr-gg ; bgdif+=bb-gg ; ttdif+=max(abs(rr-gg),max(abs(rr-bb),abs(bb-gg))) ; rv+=rr,gv+=gg,bv+=bb ; ttd+=tt ; vector <int> prop0 ; // calc() ; prop0={rbdif,rgdif,bgdif,rv,gv,bv,ttd,ttdif} ; vector <int> sim(4,0) ; int mn=INT_MAX ; // sim[1]-=20 ; // sim[2]+=30 ; // sim[3]+=30 ; for (i = 0 ; i < 4 ; i ++){ for (j = 0 ; j < prop0.size() ; j ++){ if (divv[j]<=0) sim[i]+=abs(prop0[j]*divv[j]-prop[i][j]*divv[j]) ; else sim[i]+=abs(prop0[j]/divv[j]-prop[i][j]/divv[j]) ; } mn=min(mn,sim[i]) ; // cout << sim[i] << " " ; } for (i = 0 ; i < 4 ; i ++){ if (mn==sim[i]) return i+1 ; } return 0; } void solve(){ int n,m,i,j ; int R[500][500] ; int G[500][500] ; int B[500][500] ; cin >> n >> m ; for (i = 0 ; i < n ; i ++){ for (j = 0 ; j < m ; j ++){ cin >> R[i][j] >> G[i][j] >> B[i][j] ; } } // style(n,m,R,G,B) ; cout << style(n,m,R,G,B) << endl ; } void reset(){ rbdif=0 ; rgdif=0 ; bgdif=0 ; ttdif=0 ; rv=0 ; gv=0 ; bv=0 ; ttd=0 ; } /* #ifdef runnnn int main(){ reset() ; solve() ; return 0 ; } #else int main(){ reset() ; freopen("images/style-1/style-1-1.txt","r",stdin) ; solve() ; freopen("images/style-1/style-1-2.txt","r",stdin) ; solve() ; freopen("images/style-1/style-1-3.txt","r",stdin) ; solve() ; freopen("images/style-1/style-1-4.txt","r",stdin) ; solve() ; freopen("images/style-1/style-1-5.txt","r",stdin) ; solve() ; freopen("images/style-1/style-1-6.txt","r",stdin) ; solve() ; freopen("images/style-1/style-1-7.txt","r",stdin) ; solve() ; freopen("images/style-1/style-1-8.txt","r",stdin) ; solve() ; freopen("images/style-1/style-1-9.txt","r",stdin) ; solve() ; calc() ; cout << "A\n" ; reset() ; freopen("images/style-2/style-2-1.txt","r",stdin) ; solve() ; freopen("images/style-2/style-2-2.txt","r",stdin) ; solve() ; freopen("images/style-2/style-2-3.txt","r",stdin) ; solve() ; freopen("images/style-2/style-2-4.txt","r",stdin) ; solve() ; freopen("images/style-2/style-2-5.txt","r",stdin) ; solve() ; freopen("images/style-2/style-2-6.txt","r",stdin) ; solve() ; freopen("images/style-2/style-2-7.txt","r",stdin) ; solve() ; freopen("images/style-2/style-2-8.txt","r",stdin) ; solve() ; freopen("images/style-2/style-2-9.txt","r",stdin) ; solve() ; calc() ; cout << "A\n" ; freopen("images/style-3/style-3-1.txt","r",stdin) ; solve() ; freopen("images/style-3/style-3-2.txt","r",stdin) ; solve() ; freopen("images/style-3/style-3-3.txt","r",stdin) ; solve() ; freopen("images/style-3/style-3-4.txt","r",stdin) ; solve() ; freopen("images/style-3/style-3-5.txt","r",stdin) ; solve() ; freopen("images/style-3/style-3-6.txt","r",stdin) ; solve() ; freopen("images/style-3/style-3-7.txt","r",stdin) ; solve() ; freopen("images/style-3/style-3-8.txt","r",stdin) ; solve() ; freopen("images/style-3/style-3-9.txt","r",stdin) ; solve() ; calc() ; cout << "A\n" ; reset() ; freopen("images/style-4/style-4-1.txt","r",stdin) ; solve() ; freopen("images/style-4/style-4-2.txt","r",stdin) ; solve() ; freopen("images/style-4/style-4-3.txt","r",stdin) ; solve() ; freopen("images/style-4/style-4-4.txt","r",stdin) ; solve() ; freopen("images/style-4/style-4-5.txt","r",stdin) ; solve() ; freopen("images/style-4/style-4-6.txt","r",stdin) ; solve() ; freopen("images/style-4/style-4-7.txt","r",stdin) ; solve() ; freopen("images/style-4/style-4-8.txt","r",stdin) ; solve() ; freopen("images/style-4/style-4-9.txt","r",stdin) ; solve() ; calc() ; cout << "A\n" ; return 0 ; } #endif */
#Verdict Execution timeMemoryGrader output
Fetching results...