Pagini recente » Cod sursa (job #3172311) | Cod sursa (job #3270240) | Cod sursa (job #995022) | Cod sursa (job #420228) | Cod sursa (job #2739771)
#include <iostream>
#include <fstream>
using namespace std;
string file = "transport";
ifstream fin( file + ".in" );
ofstream fout( file + ".out" );
int nrSaltele, nrTransporturi, capacitate, x;
int v[16005];
long long suma;
int reper, rez;
inline void impartire(){
int val = v[1];
int trans = 1;
for( int i = 2; i <= nrSaltele; ++i ) {
if(trans < nrTransporturi){
if(val + v[i] > reper){
val = v[i];
trans++;
}
else
val+=v[i];
} else
val+=v[i];
rez = max(rez, val);
}
}
int main(){
fin>>nrSaltele>>nrTransporturi;
for( int i = 1; i <= nrSaltele; ++i ){
fin>>v[i];
suma+=v[i];
}
double rez1 = (double)suma / nrTransporturi;
int rez2 = suma / nrTransporturi;
if( rez1 == rez2 )
reper = rez2;
else
reper = rez2 + 1;
impartire();
fout<<rez;
return 0;
}