Nu aveti permisiuni pentru a descarca fisierul grader_test7.ok
Cod sursa(job #3150820)
Utilizator | Data | 18 septembrie 2023 17:11:15 | |
---|---|---|---|
Problema | Farfurii | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.8 kb |
#include <fstream>
using namespace std;
ifstream f("farfurii.in");
ofstream g("farfurii.out");
const int nmax = 100005;
int n, k;
int a[nmax];
int main(){
f >> n >> k;
for(int i = 1; i <= n; i++){
a[i] = i;
}
int m = 0;
for(int i = 1; i <= n; i++){
if(i * (i - 1) / 2 <= k){
m = i;
}
}
if(m * (m - 1) / 2 == k){
for(int i = n - m + 1; i <= n; i++){
int aux = a[i];
a[i] = a[i + m - 1];
a[i + m - 1] = aux;
}
}
else{
int val = n - ((m + 1) * m / 2 - k);
for(int i = n - m; i <= n; i++){
int aux = a[i];
a[i] = a[i + m];
a[i + m] = aux;
}
int aux1 = a[n - m - 1];
a[n - m - 1] = a[val];
a[val] = aux1;
}
for(int i = 1; i <= n; i++){
g << a[i] << ' ' ;
}
}