Cod sursa(job #1291808)

Utilizator LegionHagiu Stefan Legion Data 13 decembrie 2014 12:00:38
Problema Farfurii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main()
{
    ifstream in("farfurii.in");
    ofstream out("farfurii.out");
    int raspuns[100001];
    int i,n,k,t=0,mare,g;
    in>>n;
    in>>k;
    for (i=1;t+i<=k;i++)
    {
        t+=i;
    }
    mare=n-i+1;
    k-=t;
    if (k==0)
    {
        for (i=1;i<mare;i++)
        {
            raspuns[i]=i;
        }
        raspuns[i]=n;
        g=n;
        for (i=mare+1;i<=n;i++)
        {
            g--;
            raspuns[i]=g;
        }
    }
    else
    {
        for (i=1;i<mare-1;i++)
        {
            raspuns[i]=i;
        }
        raspuns[i]=mare-1+k;
        raspuns[i+1]=n;
        g=n;
        for (i=mare+1;i<=n-k;i++)
        {
            g--;
            raspuns[i]=g;
        }
        g=mare-1+k;
        for (i=n-k+1;i<=n;i++)
        {
            g--;
            raspuns[i]=g;
        }
    }
    for (i=1;i<=n;i++)
    {
        out<<raspuns[i]<<" ";
    }
}