Cod sursa(job #1677704)

Utilizator andreea4aAndreea Knopf andreea4a Data 6 aprilie 2016 18:58:44
Problema Farfurii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.h>
using namespace std;
int v[100001];
int main(){
    long long n,m,i,j,nr,k,nrcif,dif,aux,poz;
    freopen("farfurii.in","r",stdin);
    freopen("farfurii.out","w",stdout);
    scanf("%lld%lld",&n,&k);
    nr=n-1;
    v[1]=1;
    nrcif=1;
    while((nr-1)*nr/2>k){
        nrcif++;
        v[nrcif]=nrcif;
        nr--;
    }
    for(i=n,j=nrcif;i>=nrcif;i--,j++)
        v[j]=i;
    dif=k-(nr-1)*nr/2;
    poz=dif+nrcif;
    for(i=poz;i>=nrcif+1;i--){
        aux=v[i];
        v[i]=v[i-1];
        v[i-1]=aux;
    }
    for(i=1;i<=n;i++)
        printf("%d ",v[i]);
    return 0;
}