Cod sursa(job #2398992)

Utilizator AndreiStrAndrei Stroici AndreiStr Data 6 aprilie 2019 17:11:16
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int n,e,s,x,w[1002],p[1002],rez;
int main()
{
    f>>n;
    f>>e;
    for(int i=1; i<=n; i++)
    {
        f>>w[i]>>p[i];
        s+=w[i];
        if(w[i]>=e)
            if(p[i]<rez)
                rez=p[i];
    }
    if(rez!=0)
    {
        g<<rez;
        return 0;
    }
    if(s<e)
    {
        g<<"-1";
        return 0;
    }
    for(int i=1; i<n; i++)
        for(int j=i+1; j<=n; j++)
        {
            if(w[i]>w[j])
                swap(w[i],w[j]),swap(p[i],p[j]);
            else if(w[i]==w[j])
                if(p[i]<p[j])
                    swap(p[i],p[j]);
        }
    s=0;
    int i=n;
    while(s<e)
    {
        s+=w[i];
        x+=p[i];
        i--;
    }
    g<<x;
    return 0;
}