Cod sursa(job #505296)
| Utilizator | Data | 1 decembrie 2010 16:13:51 | |
|---|---|---|---|
| Problema | Grupuri | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.48 kb |
#include<fstream>
using namespace std;
ifstream f("muzeu.in");ofstream g("muzeu.out");
int n,x[101][101],maxim;
void mergi(int i,int j,int t){int k;if(i<=n){if(i==n) if(maxim<t) maxim=t;for(k=0;k<3;k++) mergi(i+1,j+k,t+x[i][j]);}}
int main(){int i=0,j=0,a=1,b=0,l,ok=1;f>>n;
while(f>>l){if(a==n+1/2) ok=0;
if(b<a){x[i][j++]=l;b++;}
else if(ok){a+=2;i++;j=0;x[i][j++]=l;b=1;}
else{a-=2;i++;j=0;x[i][j++]=l;b=1;}}
mergi(0,0,x[0][0]);g<<maxim;f.close();g.close();return 0;}
