Cod sursa(job #852680)

Utilizator h2g2Ford Prefect h2g2 Data 11 ianuarie 2013 16:33:05
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <deque>
#include <stack>
#include <math.h>
using namespace std;

long long n, k, i, j, x, diferenta, aux;
vector <int> sol;

int main() {
	ifstream f("farfurii.in");
	ofstream g("farfurii.out");

	f>>n>>k;

	//x*(x-1) / 2 = k
	//x*(x-1) = 2*k

	x = 1;
	while( x*(x-1)/2 < k ) x++;

	diferenta = x*(x-1)/2 - k;

	cout<<"x = "<<x<<"; dif = "<<diferenta<<"\n";

    for(i=1; i<=n-x; i++) g<<i<<" ";
    for(i=n; i>n-x; i--) sol.push_back(i);

    g<<sol[diferenta]<<" ";
    for(i=0; i<sol.size(); i++) if(i!=diferenta) g<<sol[i]<<" ";

    cout<<"diferenta ii "<<diferenta<<"\n";








	return 0;
}