답안 #875431

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
875431 2023-11-19T16:47:06 Z gutzzy Teams (CEOI11_tea) C++17
60 / 100
2500 ms 33080 KB
#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;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 600 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 348 KB Output is correct
2 Correct 3 ms 604 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 259 ms 2516 KB Output is correct
2 Correct 17 ms 2136 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 316 ms 2968 KB Output is correct
2 Correct 19 ms 2140 KB Output is correct
3 Correct 112 ms 2580 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1761 ms 18752 KB Output is correct
2 Correct 170 ms 18040 KB Output is correct
3 Execution timed out 2549 ms 13516 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2542 ms 18448 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2416 ms 33080 KB Output is correct
2 Correct 147 ms 30664 KB Output is correct
3 Correct 230 ms 23376 KB Output is correct
4 Correct 232 ms 29760 KB Output is correct