Submission #1455967


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
#define int long long

typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,int> plli;
typedef pair<int,pii> pipii;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef vector<vi> vvi;
typedef vector<vvi> vvvi;
typedef vector<pii> vpii;

#define rep(i,n) for (int i=0;i<(n);i++)
#define rep2(i,a,b) for (int i=(a);i<(b);i++)
#define rrep(i,n) for (int i=(n);i>0;i--)
#define rrep2(i,a,b) for (int i=(a);i>b;i--)
#define pb push_back
#define fi first
#define se second
#define all(a) (a).begin(),(a).end()

const ll mod = 1e9 + 7;
const ll INF = 1<<30;
const int dx4[4] = {1, 0, -1, 0};
const int dy4[4] = {0, 1, 0, -1};
const int dx8[8] = {1, 1, 1, 0, 0, -1, -1, -1};
const int dy8[8] = {0, 1, -1, 1, -1, 0, 1, -1};
const double pi = 3.141592653589793;

int n;
int a[100000 + 5];
vector<vector<int>> pos(100000 + 5);
vector<int> num;

signed main(){
    cin.tie(0);
    ios::sync_with_stdio(false);
    cin >> n;
    rep(i, n) {
        cin >> a[i];
        pos[a[i]].push_back(i);
        num.pb(a[i]);
    }
    sort(all(num));
    num.erase(unique(all(num)),num.end());
    int ans = 1;
    int pre = -1;
    rep(i, num.size()) {
        int psize = pos[num[i]].size();
        int start = 0;
        rep(j, psize) {
            if (pre < pos[num[i]][j]) {
                start = j;
                break;
            }
        }
        rep2(j, start, start + psize) {
            if (pos[num[i]][j % psize] < pre) ans++;
            pre = pos[num[i]][j % psize];
        }
    }
    if (pre == 0) ans--;
    cout << ans << endl;
}

Submission Info

Submission Time
Task B - ディスコ社内ツアー
User roto_37
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1664 Byte
Status AC
Exec Time 28 ms
Memory 7284 KB

Judge Result

Set Name Sample Small Permutation All
Score / Max Score 0 / 0 20 / 20 10 / 10 70 / 70
Status
AC × 4
AC × 26
AC × 23
AC × 48
Set Name Test Cases
Sample 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 00_example_04.txt
Small 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 00_example_04.txt, 10_rand_01.txt, 10_rand_02.txt, 10_rand_03.txt, 10_rand_04.txt, 10_rand_05.txt, 10_rand_06.txt, 10_rand_07.txt, 10_rand_08.txt, 20_perm_01.txt, 20_perm_02.txt, 20_perm_03.txt, 20_perm_04.txt, 20_perm_05.txt, 20_perm_06.txt, 20_perm_07.txt, 20_perm_08.txt, 30_hand_01.txt, 30_hand_02.txt, 30_hand_03.txt, 30_hand_04.txt, 30_hand_05.txt, 30_hand_06.txt
Permutation 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 20_perm_01.txt, 20_perm_02.txt, 20_perm_03.txt, 20_perm_04.txt, 20_perm_05.txt, 20_perm_06.txt, 20_perm_07.txt, 20_perm_08.txt, 30_hand_01.txt, 30_hand_02.txt, 60_perm_01.txt, 60_perm_02.txt, 60_perm_03.txt, 60_perm_04.txt, 60_perm_05.txt, 60_perm_06.txt, 60_perm_07.txt, 60_perm_08.txt, 70_hand_01.txt, 70_hand_02.txt
All 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 00_example_04.txt, 10_rand_01.txt, 10_rand_02.txt, 10_rand_03.txt, 10_rand_04.txt, 10_rand_05.txt, 10_rand_06.txt, 10_rand_07.txt, 10_rand_08.txt, 20_perm_01.txt, 20_perm_02.txt, 20_perm_03.txt, 20_perm_04.txt, 20_perm_05.txt, 20_perm_06.txt, 20_perm_07.txt, 20_perm_08.txt, 30_hand_01.txt, 30_hand_02.txt, 30_hand_03.txt, 30_hand_04.txt, 30_hand_05.txt, 30_hand_06.txt, 50_rand_01.txt, 50_rand_02.txt, 50_rand_03.txt, 50_rand_04.txt, 50_rand_05.txt, 50_rand_06.txt, 50_rand_07.txt, 50_rand_08.txt, 60_perm_01.txt, 60_perm_02.txt, 60_perm_03.txt, 60_perm_04.txt, 60_perm_05.txt, 60_perm_06.txt, 60_perm_07.txt, 60_perm_08.txt, 70_hand_01.txt, 70_hand_02.txt, 70_hand_03.txt, 70_hand_04.txt, 70_hand_05.txt, 70_hand_06.txt
Case Name Status Exec Time Memory
00_example_01.txt AC 2 ms 2560 KB
00_example_02.txt AC 2 ms 2560 KB
00_example_03.txt AC 2 ms 2560 KB
00_example_04.txt AC 2 ms 2560 KB
10_rand_01.txt AC 2 ms 2560 KB
10_rand_02.txt AC 2 ms 2560 KB
10_rand_03.txt AC 2 ms 2560 KB
10_rand_04.txt AC 2 ms 2560 KB
10_rand_05.txt AC 2 ms 2560 KB
10_rand_06.txt AC 2 ms 2560 KB
10_rand_07.txt AC 2 ms 2560 KB
10_rand_08.txt AC 3 ms 2560 KB
20_perm_01.txt AC 2 ms 2560 KB
20_perm_02.txt AC 2 ms 2560 KB
20_perm_03.txt AC 2 ms 2560 KB
20_perm_04.txt AC 2 ms 2560 KB
20_perm_05.txt AC 2 ms 2560 KB
20_perm_06.txt AC 2 ms 2560 KB
20_perm_07.txt AC 2 ms 2560 KB
20_perm_08.txt AC 2 ms 2560 KB
30_hand_01.txt AC 2 ms 2560 KB
30_hand_02.txt AC 2 ms 2560 KB
30_hand_03.txt AC 2 ms 2560 KB
30_hand_04.txt AC 2 ms 2560 KB
30_hand_05.txt AC 2 ms 2560 KB
30_hand_06.txt AC 2 ms 2560 KB
50_rand_01.txt AC 9 ms 3836 KB
50_rand_02.txt AC 16 ms 5112 KB
50_rand_03.txt AC 16 ms 5112 KB
50_rand_04.txt AC 13 ms 4344 KB
50_rand_05.txt AC 7 ms 3200 KB
50_rand_06.txt AC 2 ms 2560 KB
50_rand_07.txt AC 4 ms 2944 KB
50_rand_08.txt AC 13 ms 4216 KB
60_perm_01.txt AC 10 ms 4348 KB
60_perm_02.txt AC 18 ms 6136 KB
60_perm_03.txt AC 19 ms 6136 KB
60_perm_04.txt AC 15 ms 5112 KB
60_perm_05.txt AC 7 ms 3580 KB
60_perm_06.txt AC 2 ms 2688 KB
60_perm_07.txt AC 5 ms 3072 KB
60_perm_08.txt AC 15 ms 5240 KB
70_hand_01.txt AC 18 ms 7284 KB
70_hand_02.txt AC 18 ms 7284 KB
70_hand_03.txt AC 13 ms 5228 KB
70_hand_04.txt AC 12 ms 5228 KB
70_hand_05.txt AC 28 ms 6260 KB
70_hand_06.txt AC 17 ms 5236 KB