Cod sursa(job #942012)

Utilizator superman_01Avramescu Cristian superman_01 Data 20 aprilie 2013 14:34:30
Problema Farfurii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<fstream>
#include<vector>

#define NMAX 100005
/*
FILE *f=fopen("farfurii.in","r");
FILE *g=fopen("farfurii.out","w");
*/
using namespace std;

ifstream f("farfurii.in");
ofstream g("farfurii.out");
int n,k,diff;
vector<int> sol;
int ccount;

void Solve ( void )
{

    while ( ccount*(ccount-1) /2 < k)
        ++ccount;
    //numarul de perechi in plus
    diff=ccount*(ccount-1)/2-k;
    for(int i(n) ; i > n-ccount ; --i )
        sol.push_back(i);

}
void Write ( void )
{
    for(int i (1) ;i <= n- ccount ; ++i )
       g<<i<<" ";

    int value=sol[diff];
    g<<value<<" ";
    for(vector<int>::iterator it=sol.begin() ; it != sol.end() ; ++it )
        if( *it != value)
        g<<*it<<" ";
    g.close();
}

int main ( void )
{
    f>>n>>k;
    f.close();
    Solve();
    Write();
    return 0;
}