Ciao a tutti, ho bisogno di aiuto per risolvere il problema Mana.
Nonostante il codice sembri funzionare (sia come ragionamento logico, sia come scrittura del codice), in diverse subtask ottengo errore di tempo (collegabile, secondo me, ad un errore di codice che però non riesco ad individuare). Qualcuno riuscirebbe ad aiutarmi?
Ecco il mio codice:
// NOTE: it is recommended to use this even if you don't understand the following code.
#include <fstream>
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
// uncomment the two following lines if you want to read/write from files
ifstream cin("input2.txt");
// ofstream cout("output.txt");
int N, K;
cin >> N >> K;
vector<long long> C(N);
for (int i = 0; i < N; ++i)
cin >> C[i];
long long M = 0;
// INSERT YOUR CODE HERE
vector<long long> mano (2);
mano.push_back(C[0]);
C.erase(C.begin());
for (long long i=0; i<K; i++) {
mano.push_back(C[0]);
C.erase(C.begin());
if (mano[0] < mano[1]) {
M += mano[0];
C.push_back(mano[0]);
reverse(mano.begin(), mano.end());
mano.pop_back();
} else {
M += mano[1];
C.push_back(mano[1]);
mano.pop_back();
}
}
cout << M << endl;
return 0;
}
Grazie mille in anticipo!