9466 | 2024. 02. 22 09:14:14 | csaron71 | Bányász RPG (40 pont) | cpp17 | Hibás válasz 3/40 | 76ms | 6528 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-(kelloszint-szint);
ido+=2*(kelloszint-szint);
ido+=meg;
}
else {
ido+=2*db;
}
cout << ido << " \n";
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 3/40 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1812 KiB | |||
2 | Hibás válasz | 0/0 | 14ms | 2728 KiB | |||
3 | Hibás válasz | 0/2 | 3ms | 2264 KiB | |||
4 | Hibás válasz | 0/2 | 3ms | 2320 KiB | |||
5 | Hibás válasz | 0/2 | 12ms | 2736 KiB | |||
6 | Hibás válasz | 0/2 | 24ms | 3444 KiB | |||
7 | Hibás válasz | 0/2 | 4ms | 2372 KiB | |||
8 | Hibás válasz | 0/2 | 6ms | 2540 KiB | |||
9 | Elfogadva | 3/3 | 3ms | 2432 KiB | |||
10 | Hibás válasz | 0/3 | 3ms | 2536 KiB | |||
11 | Hibás válasz | 0/3 | 2ms | 2608 KiB | |||
12 | Hibás válasz | 0/3 | 3ms | 2752 KiB | |||
13 | Hibás válasz | 0/4 | 3ms | 2972 KiB | |||
14 | Hibás válasz | 0/4 | 3ms | 3044 KiB | |||
15 | Hibás válasz | 0/2 | 41ms | 5012 KiB | |||
16 | Hibás válasz | 0/2 | 54ms | 5760 KiB | |||
17 | Hibás válasz | 0/2 | 45ms | 4992 KiB | |||
18 | Hibás válasz | 0/2 | 76ms | 6528 KiB |