Submission #402718

#TimeUsernameProblemLanguageResultExecution timeMemory
402718keta_tsimakuridzeRed-blue table (IZhO19_stones)C++14
100 / 100
166 ms2240 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 ans = m,B_=m,A_ = 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(); int all=i*(m/2+1); int all1=all; int l = 0, r=m/2+1,B=0; while(l<=r){ int mid=(l+r)/2; all=all1; for(int j=1;j<=mid;j++) { all -= i; } if((n-1)/2*(m-mid) >= all) r=mid-1,B=mid; else l=mid+1; } if(i+m-B > ans) ans=i+m-B,A_=i,B_=m-B; } cout<<ans<<endl; for(int i=1;i<=A_;i++) { s.clear(); for(int j=m-B_+1;j<=m;j++) s.insert({red[j],j}); for(int j=1;j<=m-B_;j++) { a[i][j]='+'; } int c = m/2+1 - (m-B_); for(int j=1;j<=c;j++){ pii c = *s.begin(); red[c.s] ++,a[i][c.s] = '+'; s.erase(c); } } 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(){
      |  ^~~~
#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...