Pagini recente » Cod sursa (job #1590730) | Cod sursa (job #1666782) | Cod sursa (job #2242176) | Cod sursa (job #1210074) | Cod sursa (job #695529)
Cod sursa(job #695529)
// http://infoarena.ro/problema/oo
#include <fstream>
using namespace std;
const int MAXSIZE = 100001;
ifstream in("oo.in");
ofstream out("oo.out");
int eggs,answer;
int egg[MAXSIZE],best[MAXSIZE];
void solve(int start,int stop);
int main() {
in >> eggs;
for(int i=1;i<=eggs;i++)
in >> egg[i];
egg[eggs+1] = egg[1];
solve(3,eggs-1);
solve(4,eggs);
solve(5,eggs+1);
out << answer << "\n";
return (0);
}
void solve(int start,int stop) {
best[start-2] = 0;
best[start-1] = egg[start-2] + egg[start-1];
for(int i=start;i<=stop;i++) {
best[i] = max(best[i-1],best[i-3] + egg[i-1] + egg[i]);
answer = max(answer,best[i]);
}
}