Submission #402671

#TimeUsernameProblemLanguageResultExecution timeMemory
402671keta_tsimakuridzeRed-blue table (IZhO19_stones)C++14
42 / 100
301 ms1772 KiB
#include<bits/stdc++.h> #define f first //#define int long long #define s second #define pii pair<int,int> using namespace std; const int N=1e3+5,mod=1e9+7; int t,n,m,red[N]; char a[N][N]; set<pii> s; main(){ // t=1; cin >> t; while(t--){ cin>>n>>m; for(int i=1;i<=m;i++) red[i] = 0; int B = m; int ans = B,cnt=0; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++) a[i][j]='-'; } for(int i=1;i<=n;i++){ s.clear(); for(int j=1;j<=m;j++) s.insert({red[j],j}); for(int j=1;j<=m/2+1;j++) { pii c = *--s.end(); if(c.f>=(n+1)/2) red[c.s]++,s.erase(c); else { pii c = *s.begin(); s.erase(c); if(c.f+1==(n+1)/2) B--; red[c.s]++; } } if(i+B>ans) ans=i+B,cnt=i; } cout<<ans<<endl; s.clear(); for(int i=1;i<=m;i++) red[i] = 0; for(int i=1;i<=cnt;i++){ s.clear(); for(int j=1;j<=m;j++) s.insert({red[j],j}); for(int j=1;j<=m/2+1;j++) { pii c = *--s.end(); if(c.f>=(n+1)/2) red[c.s]++,a[i][c.s] = '+',s.erase(c); else { pii c = *s.begin(); s.erase(c); a[i][c.s] = '+'; red[c.s]++; } } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++) cout<<a[i][j]; cout<<endl; } } }

Compilation message (stderr)

stones.cpp:11:2: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   11 |  main(){
      |  ^~~~
stones.cpp: In function 'int main()':
stones.cpp:32:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   32 |     if(c.f+1==(n+1)/2) B--; red[c.s]++; }
      |     ^~
stones.cpp:32:29: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   32 |     if(c.f+1==(n+1)/2) B--; red[c.s]++; }
      |                             ^~~
#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...