9467 | 2024. 02. 22 09:18:13 | csaron71 | Bányász RPG (40 pont) | cpp17 | Hibás válasz 36/40 | 70ms | 6204 KiB |
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> kell;
vector<pair<int, int> > kovek;
for (int i=0; i<n; i++) {
int x;
cin >> x;
kell.push_back(x);
}
for (int i=0; i<n; i++) {
int x;
cin >> x;
kovek.push_back({kell[i], x});
}
sort(kovek.begin(), kovek.end());
deque<pair<int, int> > sor; // szint, hany
for (auto sz : kovek) {
sor.push_back(sz);
}
int szint=0;
int ido=0;
while (sor.size()>1) {
if (szint>=sor.front().first) {
szint+=sor.front().second;
ido+=sor.front().second;
sor.pop_front();
}
else {
if (szint+sor.back().second<sor.front().first) {
szint+=sor.back().second;
ido+=2*sor.back().second;
sor.pop_back();
}
else {
int sorvegf = sor.back().first;
int sorvegs = sor.back().second;
sor.pop_back();
int utso=sor.front().first-szint;
sorvegs-=utso;
szint=sor.front().first;
ido+=2*utso;
sor.push_back({sorvegf, sorvegs});
}
}
//cout << "\n" << szint << " TIME: " << ido << "\n";
}
int kelloszint=sor.front().first;
int db=sor.front().second;
//cout << "Szint: " << szint << " cel: " << kelloszint << " DB: " << db << "\n";
if (kelloszint-szint<db) {
int meg=db-(max (kelloszint-szint, 0));
ido+=2*(max(kelloszint-szint, 0));
ido+=meg;
}
else {
ido+=2*db;
}
cout << ido << " \n";
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 36/40 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1816 KiB | |||
2 | Elfogadva | 0/0 | 14ms | 2684 KiB | |||
3 | Elfogadva | 2/2 | 3ms | 2216 KiB | |||
4 | Elfogadva | 2/2 | 3ms | 2452 KiB | |||
5 | Elfogadva | 2/2 | 12ms | 3072 KiB | |||
6 | Elfogadva | 2/2 | 24ms | 3672 KiB | |||
7 | Elfogadva | 2/2 | 4ms | 2940 KiB | |||
8 | Elfogadva | 2/2 | 6ms | 3084 KiB | |||
9 | Elfogadva | 3/3 | 2ms | 2824 KiB | |||
10 | Elfogadva | 3/3 | 2ms | 2824 KiB | |||
11 | Elfogadva | 3/3 | 2ms | 2824 KiB | |||
12 | Elfogadva | 3/3 | 3ms | 2836 KiB | |||
13 | Elfogadva | 4/4 | 3ms | 2840 KiB | |||
14 | Elfogadva | 4/4 | 3ms | 2836 KiB | |||
15 | Hibás válasz | 0/2 | 41ms | 4652 KiB | |||
16 | Elfogadva | 2/2 | 54ms | 5364 KiB | |||
17 | Hibás válasz | 0/2 | 43ms | 4672 KiB | |||
18 | Elfogadva | 2/2 | 70ms | 6204 KiB |