Cod sursa(job #546016)

Utilizator andreidevaCsiki Andrei andreideva Data 4 martie 2011 11:43:16
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.15 kb
#include <iostream>
#include <fstream>
using namespace std;
long n,m,i,s,s1,j,k;
float aux;
struct gen{int a,b; float c;};
gen v[1001],w[1001];
int main()
{
    ifstream f("energii.in");
    ofstream g("energii.out");
    f>>n;
    f>>m;
    for(i=1;i<=n;i++)
    {
        f>>v[i].a>>v[i].b;
        v[i].c=(float)v[i].a/v[i].b;
    }
    for(i=1;i<n;i++)
     for(j=i+1;j<=n;j++)
    if(v[i].c>v[j].c)
 {
     aux=v[i].a;
     v[i].a=v[j].a;
     v[j].a=aux;
     aux=v[i].b;
     v[i].b=v[j].b;
     v[j].b=aux;
     aux=v[i].c;
     v[i].c=v[j].c;
     v[j].c=aux;
}
j=0;
i=1;
    while(j==i)
    {
        if(v[i].c<=m)
        j=i;
        i++;
    }
    k=1;
    for(i=n;i>=j;i--)
        {
        w[k].a=v[i].a;
        w[k].b=v[i].b;
        w[k].c=v[i].c;
        k++;
        }
    for(i=1;i<j;i++)
        {
        w[k].a=v[i].a;
        w[k].b=v[i].b;
        w[k].c=v[i].c;
        k++;
        }
    s=0;
    i=1;
    s1=0;
    while(s<m)
        {
        s=w[i].a;
        s1=w[i].b;
        i++;
        }
        if(s1==0)
        g<<-1;
        else
        g<<s1;
    return 0;

}