Cod sursa(job #1038948)

Utilizator ephgstefana gal ephg Data 22 noiembrie 2013 11:57:35
Problema Farfurii Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<fstream>
#include<iostream>
using namespace std;

#define BM 100005

long long n,k,sol[BM],r;
int fol[BM];

int main (){
    int i,j;
    ifstream f("farfurii.in");
    ofstream g("farfurii.out");
    f>>n>>k;
    r=n*(n-1)/2;
    for(i=1;i<=n;++i){
        for(j=1;j<=n;++j)if(!fol[j]&&r-(n-j)>=k){
            sol[i]=j;
            fol[j]=1;
            r-=(n-j);
            break;
        }
    }
    for(i=1;i<=n;++i)if(sol[i]==0)break;
    for(j=n;i<=n;++i){
        for(;fol[j]==1;--j);
        sol[i]=j;
        fol[j]=1;
    }
    for(i=1;i<=n;++i)g<<sol[i]<<' ';
    return 0;
}