5135 2023. 04. 19 21:38:51 Timi Következő permutáció (50 pont) cpp11 Időlimit túllépés 12/50 347ms 4536 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;
void kovetkezo(vector<int>& a, int n)
{
   int i, j;
    i=n-2;
    while ((i>=0)&&(a[i]>a[i+1]))
        i--;

    j=n-1;
    while ((j>i)&&(a[i]>a[j]))
        j--;
    swap(a[i], a[j]);
    i++;
    j=n-1;
    while (i<j)
    {
        swap(a[i], a[j]);
        i++;
        j--;
    }
}

bool vanbenne(vector<int>& a, int n)
{
    int i, j, k;
    for (i=0; i<n-2; i++)
        for (j=i+1; j<n-1; j++)
           for (k=j+1; k<n; k++)
              if (a[i]>a[j] && a[i]>a[k] && a[j]<a[k])
                 return true;
    return false;
}
int main()
{
    int n, i;
    cin>>n;
    vector<int> a(n);
    for (i=0; i<n; i++)
        cin>>a[i];
    kovetkezo(a, n);
    while (vanbenne(a, n))
        kovetkezo(a, n);
    for (i=0; i<n; i++)
        cout<<a[i]<<" ";
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 12/50
1 Elfogadva 0/0 3ms 1812 KiB
2 Időlimit túllépés 0/0 300ms 1264 KiB
3 Elfogadva 1/1 2ms 2284 KiB
4 Elfogadva 1/1 2ms 2428 KiB
5 Elfogadva 1/1 3ms 2672 KiB
6 Elfogadva 1/1 3ms 2920 KiB
7 Elfogadva 2/2 3ms 3000 KiB
8 Elfogadva 2/2 8ms 3096 KiB
9 Elfogadva 2/2 3ms 3308 KiB
10 Elfogadva 2/2 2ms 3488 KiB
11 Időlimit túllépés 0/1 256ms 3548 KiB
12 Időlimit túllépés 0/1 270ms 3664 KiB
13 Időlimit túllépés 0/1 275ms 3664 KiB
14 Időlimit túllépés 0/1 266ms 3668 KiB
15 Időlimit túllépés 0/3 256ms 3792 KiB
16 Időlimit túllépés 0/3 287ms 3552 KiB
17 Időlimit túllépés 0/3 252ms 3680 KiB
18 Időlimit túllépés 0/3 263ms 3768 KiB
19 Időlimit túllépés 0/3 275ms 3792 KiB
20 Időlimit túllépés 0/3 252ms 3792 KiB
21 Időlimit túllépés 0/3 268ms 4024 KiB
22 Időlimit túllépés 0/3 347ms 3444 KiB
23 Időlimit túllépés 0/3 268ms 4364 KiB
24 Időlimit túllépés 0/3 298ms 4372 KiB
25 Időlimit túllépés 0/2 256ms 4456 KiB
26 Időlimit túllépés 0/2 259ms 4536 KiB