Submission #92835

#TimeUsernameProblemLanguageResultExecution timeMemory
92835SamAndMoney (IZhO17_money)C++17
0 / 100
2 ms376 KiB
#include <bits/stdc++.h>
using namespace std;
const int N = 1000006;

int n;
int a[N];

int t[N];

void ubd(int x)
{
    while (x < N)
    {
        t[x]++;
        x += (x & (-x));
    }
}

int qry(int l, int r)
{
    if (l > r)
        return 0;
    int ans = 0;
    while (r > 0)
    {
        ans += t[r];
        r -= (r & (-r));
    }
    --l;
    while (l > 0)
    {
        ans -= t[l];
        l -= (l & (-l));
    }
    return ans;
}

int main()
{
    //freopen("input2.txt", "r", stdin);
    scanf("%d", &n);
    for (int i = 1; i <= n; ++i)
        scanf("%d", &a[i]);
    int ans = 1;
    ubd(a[1]);
    for (int i = 2; i <= n; ++i)
    {
        if (a[i] >= a[i - 1] && qry(a[i - 1] + 1, a[i] - 1) == 0)
            continue;
        else
            ++ans;
        ubd(a[i]);
    }
    cout << ans << endl;
    return 0;
}

Compilation message (stderr)

money.cpp: In function 'int main()':
money.cpp:41:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &n);
     ~~~~~^~~~~~~~~~
money.cpp:43:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &a[i]);
         ~~~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...