답안 #235117

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
235117 2020-05-27T06:30:23 Z kartel Doktor (COCI17_doktor) C++14
10 / 100
1000 ms 9336 KB
#include <bits/stdc++.h>
//#include <ext/pb_ds/assoc_container.hpp>
//#include <ext/pb_ds/tree_policy.hpp>
#define in(x) freopen(x, "r", stdin)
#define out(x) freopen(x, "w", stdout)
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("-O3")
#define F first
#define S second
#define pb push_back
#define N +500500
#define M ll(1e9 + 7)
#define sz(x) (int)x.size()
#define re return
#define oo ll(1e18)
#define el '\n'
#define pii pair <int, int>
using namespace std;
//using namespace __gnu_pbds;
//typedef tree <int, null_type, less_equal <int> , rb_tree_tag, tree_order_statistics_node_update> ordered_set;
typedef long long ll;
typedef long double ld;

int ps[N], a[N], sf[N], kol, i, n, ans, le, ri;

int main()
{
    srand(time(0));
    ios_base::sync_with_stdio(0);
    iostream::sync_with_stdio(0);
    ios::sync_with_stdio(0);
    cin.tie(NULL);
    cout.tie(NULL);

//    in("input.txt");
//    out("output.txt");
    cin >> n;
    for (i = 1; i <= n; i++)
    {
        cin >> a[i];
        ps[a[i]] = i;
    }

    for (i = n; i >= 1; i--) sf[i] = sf[i + 1] + (a[i] == i);

    for (i = 1; i <= n; i++)
    {
        int l = i, L = l;
        int r = ps[i];
        int len = r - l + 1;
        int kl = sf[r + 1];

        for (; l <= r; l++)
            if (a[l] == i + len - l + L - 1) kl++;

        kl += kol;

        if (kl > ans)
        {
            ans = kl;
            le = L;

            ri = r;
        }

        if (a[i] == i) kol++;
    }
    cout << ri << " " << le;
}

//110000
//110000
//001100
//001100
//000011

# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 384 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 4 ms 384 KB Output isn't correct
# 결과 실행 시간 메모리 Grader output
1 Failed 5 ms 384 KB Checker failed - contact admins or jury
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 6 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 7 ms 384 KB Output is correct
2 Incorrect 5 ms 384 KB Output isn't correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 10 ms 512 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 351 ms 2040 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1096 ms 9336 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1089 ms 5624 KB Time limit exceeded
2 Halted 0 ms 0 KB -