73982024-01-08 14:04:29CWMKártyajátékcpp17Wrong answer 29/3086ms6972 KiB
#include <iostream>
#include <vector>
#include <set>
#include <queue>
#include <algorithm>

using namespace std;
#define ll long long
int main()
{
    ll i1;
    int n;
    cin >> i1 >> n;
    vector<ll> ord(n);
    ll max = -1;
    ll Secmax = -1;
    ll SecmaxATP = -1;
    vector<ll> maxVec;
    int res = 0;
    for (size_t i = 0; i < n; i++)
    {
        ll a;
        cin >> a;
        ord[i] = a;
        if (a > max) {
            if(SecmaxATP==-1) maxVec.push_back(a);
            if (a == i1) {
                SecmaxATP = max;
            }
            else {
                Secmax = a;
                max = a;
            }
        }
    }
    if (Secmax == SecmaxATP) res--;
    if (maxVec.size() == 1) {
        if (n == 1) cout << 0;
        else cout << 1;
        return 0;
    }
    sort(ord.begin(), ord.end());
    if (maxVec[0] != ord[0]) res++;
    int insVec = 1;
    for (size_t i = 0; i < ord.size(); i++)
    {
        if (ord[i] == maxVec[insVec]) {
            if (i != insVec) {
                if (i == ord.size() - 1) {
                    res++;
                    break;
                }
                if (ord[i + 1] != maxVec[insVec + 1]) {
                    res++;
                }
            }
            insVec++;
        }
    }
    if (res == -1) res = 0;
    cout << res;
}
SubtaskSumTestVerdictTimeMemory
base29/30
1Accepted0/03ms1812 KiB
2Accepted0/086ms4860 KiB
3Accepted1/13ms2336 KiB
4Wrong answer0/13ms2424 KiB
5Accepted1/13ms2640 KiB
6Accepted2/23ms2988 KiB
7Accepted2/23ms3024 KiB
8Accepted2/23ms3036 KiB
9Accepted1/130ms4096 KiB
10Accepted2/246ms5840 KiB
11Accepted3/346ms5864 KiB
12Accepted3/346ms6196 KiB
13Accepted1/185ms4944 KiB
14Accepted2/286ms5544 KiB
15Accepted3/385ms6972 KiB
16Accepted3/386ms6072 KiB
17Accepted3/386ms6076 KiB