Submission #638524

# Submission time Handle Problem Language Result Execution time Memory
638524 2022-09-06T10:45:02 Z Tuanlinh123 Permutation (APIO22_perm) C++17
88.2308 / 100
3 ms 340 KB
#include<bits/stdc++.h>
#define ll long long
#define ld long double
#define pll pair<ll,ll>
#define mp make_pair
#define pb push_back
#define fi first
#define se second

using namespace std;
#define LOCALIO "C:/Users/admin/Documents/Code/freopen/"

vector <int> construct_permutation (ll k)
{
    vector <ll> action;
    while (k>1)
    {
        bool added=0;
        for (ll i=2; i<=29; i++)
            if (k%i==0)
            {
                added=1;
                action.pb(i);
                k/=i;
                break;
            }
        if (!added)
        {
            k--;
            action.pb(1);
        }
    }
    reverse(action.begin(), action.end());
    deque <int> q;
    ll num=0;
    for (ll i=0; i<action.size(); i++)
    {
        if (action[i]==1)
        {
            q.push_back(num);
            num++;
        }
        else
        {
            for (ll j=num+action[i]-2; j>=num; j--)
                q.push_front(j);
            num+=action[i]-1;
        }
    }
    // cout << "bruh" << flush;
    vector <int> res;
    while (!q.empty())
    {
        res.pb(q.back());
        q.pop_back();
    }
    return res;
}

Compilation message

perm.cpp: In function 'std::vector<int> construct_permutation(long long int)':
perm.cpp:36:19: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |     for (ll i=0; i<action.size(); i++)
      |                  ~^~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 288 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 288 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Partially correct 1 ms 340 KB Partially correct
5 Partially correct 2 ms 340 KB Partially correct
6 Partially correct 2 ms 340 KB Partially correct
7 Partially correct 2 ms 340 KB Partially correct
8 Partially correct 3 ms 300 KB Partially correct
9 Partially correct 3 ms 340 KB Partially correct
10 Partially correct 3 ms 340 KB Partially correct
11 Partially correct 2 ms 340 KB Partially correct
12 Partially correct 2 ms 340 KB Partially correct
13 Partially correct 3 ms 340 KB Partially correct