Submission #875431

#TimeUsernameProblemLanguageResultExecution timeMemory
875431gutzzyTeams (CEOI11_tea)C++17
60 / 100
2549 ms33080 KiB
#include <bits/stdc++.h> using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; vector<pair<int,int>> a(n); for(int i=0;i<n;i++){ cin >> a[i].first; a[i].second = i+1; } sort(a.begin(),a.end()); reverse(a.begin(),a.end()); int pos = 0; vector<vector<pair<int,int>>> teams; vector<pair<int,int>> rest; while(pos<n){ if(pos+a[pos].first<n){ vector<pair<int,int>> temp(a.begin()+pos,a.begin()+pos+a[pos].first); teams.push_back(temp); pos+=a[pos].first; } else if(pos+a[pos].first==n){ vector<pair<int,int>> temp(a.begin()+pos,a.end()); teams.push_back(temp); pos+=a[pos].first; } else{ rest.push_back(a[pos]); pos++; } } /* cout << "teams: "<<endl; for(auto t:teams){ for(auto m:t){ cout << m.first << " " << m.second << endl; } cout << endl; } cout << "rest: "<<endl; for(auto m:rest){ cout << m.first << " " << m.second << endl; } cout << "ans: "<<endl; */ for(auto r:rest){ int best = 0; int cur_best = 1e9; int i=0; for(auto team:teams){ if((int) team.size()>=r.first-1 and (int) team.size()<cur_best){ cur_best = team.size(); best = i; } i++; } teams[best].push_back(r); } // print answer cout << teams.size() << endl; for(auto team:teams){ cout << team.size() << " "; for(auto m:team) cout << m.second << " "; cout << endl; } return 0; }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...