Cod sursa(job #1670553)

Utilizator moowalkerMihai Turcanu moowalker Data 31 martie 2016 20:36:45
Problema Energii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <iostream>
#include <fstream>
using namespace std;

int n,c;
int t[1002][2];
int s[1002];
int i,j,aux,count;
long se,sc,Min;
fstream f;
main()
{
    f.open("energii.in",ios::in);
    f>>n;
    f>>c;
    for (i=0;i<n;i++)
        f>>t[i][0]>>t[i][1];
    for (i=0;i<n-1;i++)
    for (j=i+1;j<n;j++)
    {
        if (t[i][1]>t[j][1])
        {
            aux=t[i][1];
            t[i][1]=t[j][1];
            t[j][1]=aux;
            aux=t[i][0];
            t[i][0]=t[j][0];
            t[j][0]=aux;
        }
    }
    for (i=0;i<n;i++)
    {
        se=0;
        sc=0;
        j=i;
        while (se<c && j<n)
        {
            se+=t[j][0];
            sc+=t[j][1];
            j++;
        }
        if (se>=c)
        {s[count]=sc;
        count++;
        }
    }
    Min=1000000;
    for (i=0;i<count;i++)
    {
        cout<<s[i]<<endl;
        if (Min>s[i]) Min=s[i];
    }
    f.close();
    f.open("energii.out",ios::out);
    if (count==0)
    f<<-1;
    else
    f<<Min;
}
/*
3
8
2 4
2 3
8 9
*/