| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1354504 | Newtonabc | Red-blue table (IZhO19_stones) | C++20 | 2094 ms | 348 KiB |
#include<bits/stdc++.h>
using namespace std;
bool mi[1010][1010];
void solve(){
int n,m; cin>>n >>m;
for(int i=0;i<n;i++) for(int j=0;j<m;j++) mi[i][j]=0;
int tr=(n+2)/2;
int ans=n,pa=n;
for(int ca=0;ca<n;ca++){
int lt=(n-ca)*m+ca*((m-1)/2);
int got=min(m,lt/((n+2)/2));
if(ca+got>ans){
ans=ca+got;
pa=ca;
}
}
set<pair<int,int>> s;
for(int i=0;i<pa;i++){
s.insert({(m-1)/2,i});
}
for(int i=0;i<ans-pa;i++){
int need=(n+2)/2-(n-pa);
vector<pair<int,int>> bk;
for(int j=0;j<need;j++){
auto it=s.begin();
mi[it->second][i]=1;
auto p=*it;
p.first--;
if(p.first!=0) bk.push_back(p);
s.erase(it);
}
for(auto p:bk) s.insert(p);
}
cout<<ans <<"\n";
queue<int> q;
for(int i=0;i<pa;i++){
for(int j=0;j<m;j++){
if(mi[i][j]) cout<<"-";
else cout<<"+";
}
cout<<"\n";
}
for(int i=pa;i<n;i++){
for(int j=0;j<m;j++){
cout<<"-";
}
cout<<"\n";
}
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int t; cin>>t;
while(t--){
solve();
}
}| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
