| 24408 | 2026-02-11 09:41:15 | SzeredaiNatanael | Óvoda | cpp17 | Compilation error |
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int k, n; cin >> k >> n;
vector<pair<int, bool>> maxi(n + 1, { 0, false });
for (int i = 1; i <= n; ++i) {
cin >> maxi[i].first;
}
vector<int> szerep(k + 1);
vector<int> ans(k + 1, 0);
for (int i = 1; i <= k; ++i) {
cin >> szerep[i];
}
vector<pair<int, int>> siras(k + 1);
for (int i = 1; i <= k; ++i) {
cin >> siras[i].first;
siras[i].second = i;
}
int t = 0;
sort(siras.begin(), siras.end());
for (int i = k; i >= 1; --i) {
int j = szerep[siras[i].second];
if (maxi[j].first > 0) {
--maxi[j].first;
maxi[j].second = true;
ans[siras[i].second] = j;
}
else t += siras[i].first;
}
int i = 1;
for (auto& e : ans) {
if (e == 0) {
for (int j = i; j <= n; ++j){
if (maxi[j].first > 0 && !maxi[j].second) {
--maxi[j].first;
maxi[j].second = true;
e = j;
if (maxi[j].first == 0) {
i = j + 1;
}
break;
}
}
}
}
bool nincs = false, van = true;
for (auto& e : ans) {
if (e == 0) {
nincs = true;
}
}
for (auto& e : maxi) {
if (!e.second) {
van = false;
}
}
if (nincs) {
i = 1;
for (auto& e : ans) {
if (e == 0) {
for (int j = i; j <= n; ++j) {
if (maxi[j].first > 0) {
--maxi[j].first;
e = j;
if (maxi[j].first == 0) {
i = j + 1;
}
break;
}
}
}
}
}
if (!van) continue;
cout << t << "\n";
for (int i = 1; i <= k; ++i) {
cout << ans[i] << " ";
}
}
open /var/local/lib/isolate/434/box/a.out: no such file or directory
main.cpp: In function 'int main()':
main.cpp:86:19: error: continue statement not within a loop
86 | if (!van) continue;
| ^~~~~~~~