Diferente pentru utilizator/apocalypto intre reviziile #194 si #195

Nu exista diferente intre titluri.

Diferente intre continut:

* ==user(user="laurion" type="tiny")==
 
 
Varianta de 100 de puncte
 
using namespace std;
#include<iostream>
#include<fstream>
#include<vector>
#include<algorithm>
#include<iomanip>
#define pb push_back
ofstream fout("xmoto.out");
struct nod{
double a,b,k,q,v;};
nod a[50005];
double v;
vector<double> ans;
int N;
double L,sa,sb,sq,sk;
double SA,SB,SK,SQ;
bool cmp(nod i, nod j)
{
    return (i.v<j.v);
}
 
void cit()
{
    int i,ii;
    ifstream fin("xmoto.in");
    fin>>N>>L;
    for(i=1;i<=N;i++)
    {
        fin>>a[i].a>>a[i].b>>a[i].k>>a[i].q>>a[i].v;
    }
    sort(a+1,a+1+N,cmp);
    /*for(i=1;i<=N;i++)
    {
        cout<<a[i].a<<" "<<a[i].b<<" "<<a[i].k<<" "<<a[i].q<<" "<<a[i].v<<"\n";
    }*/
    for(i=1;i<=N;i++)
    {
        SA+=a[i].a;
        SK+=a[i].k;
    }
    sa=0;
        sb=0;
        sk=0;
        sq=0;
    for(i=0;i<=N;i++)
    {
 
        /*for(ii=1;ii<=i;ii++)
        {
            sb+=a[ii].b;
            sq+=a[ii].q;
        }*/
 
        if(i>0)
        {
            sb+=a[i].b;
            sq+=a[i].q;
        }
        /*for(ii=i+1;ii<=N;ii++)
        {
            sa+=a[ii].a;
            sk+=a[ii].k;
        }*/
        sa=SA;
        sk=SK;
 
        SA-=a[i+1].a;
        SK-=a[i+1].k;
        if(sa+sb!=0)
        {
            v=(L-(sk+sq))/(sa+sb);
            if(v<=a[i+1].v || i==N)
            {
                if(v>a[i].v || i==0)
                {
                    ans.pb(v);
                }
            }
        }
       // cout<<L<<"\n";
       // cout<<sk<<" "<<sq<<" "<<sk+sq<<" "<<"\n";
        //cout<<sa<<" "<<sb<<" "<<sa+sb<<" "<<"\n\n\n";
    }
    fout<<ans.size()<<"\n";
    vector<double>::iterator it;
    setprecision(6);
    for(it=ans.begin();it<ans.end();it++)
    {
        fout<<fixed<<*it<<"\n";
    }
    fin.close();
}
 
int main()
{
 
    cit();
 
    fout.close();
    return 0;
}
 
 
 
 
 
 
 
 
 
 
 
http://ideone.com/nr9jp
http://ideone.com/Sg8si
« O generatiune decazuta nu e capabila de recunoastere nici binele, nici adevarul. Binele unde-l gaseste il uraste – de acolo preponderenta elementului rau. Adevarul nu e capabila de a-l recunoaste. » Mihai Eminescu

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.