5784 | 2023. 09. 27 16:38:43 | KCsenge | Következő permutáció (50 pont) | cpp14 | Hibás válasz 24/50 | 7ms | 4720 KiB |
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
/*
5
2 3 5 4 1
8
2 3 5 8 7 6 4 1
*/
int main()
{
int n;
cin>>n;
vector<int> a(n);
for(int i=0;i<n;i++)
cin>>a.at(i);
vector<int> vege;
int index=n-1;
while(a.at(index-1)>a.at(index))
{
vege.push_back(a.at(index)); //a vektor vegerol levesszunka csokkeno reszt
index--;
}
vege.push_back(a.at(index));
/*
for(int x:vege)
cout<<x<<" ";
cout<<"EEEEEEzt kell cserelni"<<a.at(index-1)<<endl;
*/
for(int i=vege.size()-1;i>=0;i--)
{
if(vege.at(i)-1==a.at(index-1))
{
int temp=vege.at(i);
vege.at(i)=a.at(index-1);
a.at(index-1)=temp;
}
}
/*
cout<<a.at(index-1)<<" index"<<index;
cout<<endl;
cout<<"BEKA"<<endl;
for(int x:vege)
cout<<x<<" ";
cout<<endl;
for(int i=0;i<n;i++)
cout<<a.at(i)<<" ";
cout<<endl;
*/
//szetvalogatok
vector<int>kicsik, nagyok;
for(int x:vege)
{
if(x>a.at(index-1))
nagyok.push_back(x);
else
kicsik.push_back(x);
}
/*
cout<<endl;
for(int x:kicsik)
cout<<x<<" ";
cout<<endl;
for(int x:nagyok)
cout<<x<<" ";
*/
int kicsiindex=kicsik.size()-1;
//rendbe szedem a dolgokat
for(int i=index;i<index+kicsik.size();i++)
{
a.at(i)=kicsik.at(kicsiindex);
kicsiindex--;
}
int hol=0;
for(int i=index+kicsik.size();i<n;i++)
{
a.at(i)=nagyok.at(hol);
hol++;
}
for(int i=0;i<n;i++)
cout<<a.at(i)<<" ";
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 24/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1816 KiB | |||
2 | Hibás válasz | 0/0 | 4ms | 2024 KiB | |||
3 | Hibás válasz | 0/1 | 2ms | 2212 KiB | |||
4 | Hibás válasz | 0/1 | 3ms | 2428 KiB | |||
5 | Hibás válasz | 0/1 | 3ms | 2676 KiB | |||
6 | Elfogadva | 1/1 | 2ms | 2788 KiB | |||
7 | Hibás válasz | 0/2 | 3ms | 2908 KiB | |||
8 | Elfogadva | 2/2 | 2ms | 2996 KiB | |||
9 | Elfogadva | 2/2 | 3ms | 3208 KiB | |||
10 | Elfogadva | 2/2 | 3ms | 3316 KiB | |||
11 | Hibás válasz | 0/1 | 2ms | 3404 KiB | |||
12 | Hibás válasz | 0/1 | 3ms | 3648 KiB | |||
13 | Hibás válasz | 0/1 | 2ms | 3732 KiB | |||
14 | Hibás válasz | 0/1 | 2ms | 3728 KiB | |||
15 | Elfogadva | 3/3 | 2ms | 3728 KiB | |||
16 | Elfogadva | 3/3 | 2ms | 3724 KiB | |||
17 | Hibás válasz | 0/3 | 3ms | 3976 KiB | |||
18 | Hibás válasz | 0/3 | 3ms | 3872 KiB | |||
19 | Elfogadva | 3/3 | 4ms | 3984 KiB | |||
20 | Hibás válasz | 0/3 | 6ms | 3980 KiB | |||
21 | Elfogadva | 3/3 | 6ms | 3988 KiB | |||
22 | Hibás válasz | 0/3 | 6ms | 4060 KiB | |||
23 | Elfogadva | 3/3 | 7ms | 4276 KiB | |||
24 | Hibás válasz | 0/3 | 7ms | 4384 KiB | |||
25 | Elfogadva | 2/2 | 7ms | 4720 KiB | |||
26 | Hibás válasz | 0/2 | 6ms | 4376 KiB |