제출 #1182991

#제출 시각아이디문제언어결과실행 시간메모리
1182991abdalrhman_sfarBring Down the Grading Server (CEOI23_gradingserver)C++20
0 / 100
3 ms4236 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int N=1e5+5; int cnt[N]; signed main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n,s,t; cin >> n >> s >> t; vector<vector<int>> v(n,vector<int>(s)); int i,j; map<pair<int,int>,int> mp; // [color,row] vector<set<int>> st(t+1); for (i=0;i<n;++i) { for (auto&it:v[i]) { cin >> it; ++cnt[it]; ++mp[{it,i}],st[it].insert(i); } sort(v[i].begin(),v[i].end()); } vector<int> v1,v2; // v1 = norms , v2 = remainders for (i=1;i<=t;++i) { for (j=0;j<(cnt[i]/s);++j) v1.emplace_back(i); for (j=0;j<(cnt[i]%s);++j) v2.emplace_back(i); } int ans[n][s]; //for (auto&it:v1) cout << it << ' '; cout << '\n'; for (i=0;i<s;++i) { set<int> ss; for (j=0;j<n;++j) ss.insert(j); if (v2.size()) { int it=*st[v2[i]].begin(); int a = --mp[{v2[i],it}]; if (a==0) st[v2[i]].erase(it); ans[it][i]=v2[i]; ss.erase(it); } for (auto&it:v1) { int a,id; for (auto&k:st[it]) { if (ss.count(k)) { a = --mp[{it,k}],id=k; ss.erase(k); ans[k][i]=it; break; } } if (a==0) st[it].erase(id); } } cout << '\n'; for (i=0;i<n;++i) { for (j=0;j<s;++j) cout << ans[i][j] << ' '; cout << '\n'; } }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...