Pagini recente » Cod sursa (job #225) | Cod sursa (job #449591) | Borderou de evaluare (job #228889) | Cod sursa (job #405325) | Cod sursa (job #2860113)
#include <stdio.h>
#define MAX 30001
int c[ MAX + 1 ], l[ MAX + 1 ];
int a[ MAX + 1 ], poz = 1;
int v[ MAX + 1 ];
int n;
int main()
{
FILE *fin = fopen( "bilute.in", "r" );
fscanf( fin, "%d", &n );
a[ 0 ] = 0;
for( int i = 1; i <= n; ++i ) {
fscanf( fin, "%d%d", &c[ i ], &l[ i ] );
a[ i ] = a[ i - 1 ] + c[ i ];
}
fclose( fin );
for( int i = 2; i <= n; ++i )
v[ 1 ] += ( i - 1 ) * c[ i ] + c[ i ] * l[ i ];
for( int i = 2; i <= n; ++i )
v[ i ] = v[ i - 1 ] - c[ i ] * l[ i ] + c[ i - 1 ] * l[ i - 1 ] + 2 * a[ i - 1 ] - a[ n ];
for( int i = 1; i <= n; ++i )
if( v[ i ] < v[ poz ] )
poz = i;
FILE *fout = fopen( "bilute.out", "w" );
fprintf( fout, "%d %d\n", poz, v[ poz ] );
fclose( fout );
return 0;
}