# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
870066 | Matjaz | Teams (CEOI11_tea) | C++14 | 381 ms | 26936 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
//
// CEOI11_TEA.cpp
//
//
// Created by Matjaz Leonardis on 06/11/2023.
//
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
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());
vector<int> max_teams(N);
vector<int> label(N);
if (a[0].first == 1) {
max_teams[0] = 1;
label[0] = 1;
} else max_teams[0] = 0;
for (int i=1;i<N;i++){
if (i < N - 1) max_teams[i] = max_teams[i-1]; else {
label[i] = 1;
max_teams[i] = (a[N-1].first == N ? 1 : 1 + max_teams[i - a[N-1].first]);
continue;
}
if (i + 1 - a[i].first == 0){
if (1 >= max_teams[i]){
max_teams[i] = 1;
label[i] = 1;
}
}
if (i + 1 - a[i].first > 0 && max_teams[i-a[i].first] + 1 >= max_teams[i]){
max_teams[i] = max_teams[i-a[i].first] + 1;
label[i] = 1;
}
}
cout << max_teams[N-1] << endl;
// for (int i=0;i<N;i++) cout << max_teams[i] << " ";
// cout << endl;
// for (int i=0;i<N;i++) cout << label[i] << " ";
// cout << endl;
for (int ptr=N-1;ptr>=0;ptr--){
if (label[ptr] != 0){
vector<int> s;
s.push_back(a[ptr].second);
for (int i=1;i<a[ptr].first;i++){
s.push_back(a[ptr - i].second);
}
ptr -= a[ptr].first;
while (ptr >= 0 && label[ptr] == 0){
s.push_back(a[ptr].second);
ptr--;
}
cout << s.size();
for (int i=0;i<s.size();i++) cout << " " << s[i];
cout << endl;
ptr++;
}
}
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |