답안 #751252

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
751252 2023-05-31T09:31:42 Z bgnbvnbv Volontiranje (COCI21_volontiranje) C++14
0 / 110
14 ms 23820 KB
#include<bits/stdc++.h>
#define TASKNAME "codeforce"
#define pb push_back
#define pli pair<int,int>
#define fi first
#define se second
#define fastio ios_base::sync_with_stdio(false); cin.tie(NULL);
using namespace std;
using ll=int;
const ll maxN=1e6+10;
const ll mod=1e9+7;
ll n,a[maxN],e[maxN];
vector<ll>vec[maxN];
void solve()
{
    cin >> n;
    for(int i=1;i<=n;i++) cin >> a[i];
    ll m=0;
    for(int i=1;i<=n;i++)
    {
        ll x=lower_bound(e+1,e+m+1,a[i])-e;
        if(x>m) m++;
        vec[x].pb(i);
        e[x]=a[i];
    }
    for(int i=1;i<=m;i++) reverse(vec[i].begin(),vec[i].end());
    vector<vector<ll>> ans;
    while(vec[m].size()>0)
    {
        bool ok=true;
        ll v=vec[m].back();
        vec[m].pop_back();
        ll cur=v;
        for(int i=m-1;i>=1;i--)
        {
            while(vec[i].size()>0&&a[vec[i].back()]>a[v])
            {
                vec[i].pop_back();
            }
            v=vec[i].back();
            if(vec[i].size()==0) ok=false;
        }
        if(ok)
        {
            vector<ll> cc;
            cc.pb(cur);
            for(int i=m-1;i>=1;i--)
            {
                cc.pb(vec[i].back());
                vec[i].pop_back();
            }
            reverse(cc.begin(),cc.end());
            ans.pb(cc);
        }
    }
    cout << ans.size()<<' '<<m<<'\n';
    for(auto zz:ans)
    {
        for(auto vc:zz) cout << vc<<' ';
        cout << '\n';
    }
}
int main()
{
    fastio
    //freopen(TASKNAME".INP","r",stdin);
    //freopen(TASKNAME".OUT","w",stdout);
    solve();
}
# 결과 실행 시간 메모리 Grader output
1 Correct 14 ms 23764 KB Output is correct
2 Correct 12 ms 23764 KB Output is correct
3 Correct 13 ms 23736 KB Output is correct
4 Correct 13 ms 23764 KB Output is correct
5 Correct 12 ms 23764 KB Output is correct
6 Correct 12 ms 23748 KB Output is correct
7 Correct 12 ms 23764 KB Output is correct
8 Correct 13 ms 23820 KB Output is correct
9 Correct 13 ms 23816 KB Output is correct
10 Correct 13 ms 23736 KB Output is correct
11 Correct 13 ms 23820 KB Output is correct
12 Correct 12 ms 23696 KB Output is correct
13 Correct 12 ms 23764 KB Output is correct
14 Incorrect 12 ms 23816 KB Subsequence indices should be sorted
15 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 14 ms 23764 KB Output is correct
2 Correct 12 ms 23764 KB Output is correct
3 Correct 13 ms 23736 KB Output is correct
4 Correct 13 ms 23764 KB Output is correct
5 Correct 12 ms 23764 KB Output is correct
6 Correct 12 ms 23748 KB Output is correct
7 Correct 12 ms 23764 KB Output is correct
8 Correct 13 ms 23820 KB Output is correct
9 Correct 13 ms 23816 KB Output is correct
10 Correct 13 ms 23736 KB Output is correct
11 Correct 13 ms 23820 KB Output is correct
12 Correct 12 ms 23696 KB Output is correct
13 Correct 12 ms 23764 KB Output is correct
14 Incorrect 12 ms 23816 KB Subsequence indices should be sorted
15 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 14 ms 23764 KB Output is correct
2 Correct 12 ms 23764 KB Output is correct
3 Correct 13 ms 23736 KB Output is correct
4 Correct 13 ms 23764 KB Output is correct
5 Correct 12 ms 23764 KB Output is correct
6 Correct 12 ms 23748 KB Output is correct
7 Correct 12 ms 23764 KB Output is correct
8 Correct 13 ms 23820 KB Output is correct
9 Correct 13 ms 23816 KB Output is correct
10 Correct 13 ms 23736 KB Output is correct
11 Correct 13 ms 23820 KB Output is correct
12 Correct 12 ms 23696 KB Output is correct
13 Correct 12 ms 23764 KB Output is correct
14 Incorrect 12 ms 23816 KB Subsequence indices should be sorted
15 Halted 0 ms 0 KB -