Cod sursa(job #2699226)

Utilizator LucaMihaiLM10Luca Ilie LucaMihaiLM10 Data 23 ianuarie 2021 21:31:10
Problema Energii Scor 0
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <stdio.h>
#define MAX_S 100000

int d[MAX_S + 1];

int main() {
    FILE *fin, *fout;
    int n, a, s, x, i, j;

    fin = fopen( "jocul.in", "r" );
    fscanf( fin, "%d", &n );
    d[0] = 1;
    s = 0;
    for ( i = 0; i < n; i++ ) {
        fscanf( fin, "%d", &a );
        s += a;
        for ( j = s; j >= a; j-- )
            d[j] = d[j] == 1 ? d[j] : d[j - a];
    }
    fclose( fin );

    x = s / 2;
    while ( d[x] == 0 )
        x--;

    fout = fopen( "jocul.out", "w" );
    fprintf( fout, "%d %d", x, s - x );
    fclose( fout );

    return 0;
}