제출 #38208

#제출 시각아이디문제언어결과실행 시간메모리
38208TalantMoney (IZhO17_money)C++14
0 / 100
0 ms9828 KiB
#include <bits/stdc++.h>

#define fr first
#define sc second
#define OK puts("OK");
#define pb push_back
#define mk make_pair

using namespace std;

typedef long long ll;

const ll inf = (ll)1e9 + 7;
const int N = (int)1e6 + 7;

int n;
int a[N],t[N],lst = 1;
int ans;

void update (int pos) {
        for (; pos <= n; pos += (pos & (-pos)))
                t[pos] ++;
}

int get (int pos) {
        int res = 0;
        for (; pos > 0; pos -= (pos & (-pos)))
                res += t[pos];
        return res;
}

int main () {
        scanf ("%d", &n);

        for (int i = 1; i <= n; i ++)
                scanf ("%d", &a[i]);

        update (a[1]);

        for (int i = 2; i <= n; i ++) {
                update (a[i]);

                if (a[i] == a[i - 1])
                        continue;

                if (a[i] >= a[i - 1]) {
                        int o = get(a[i]) - get(a[lst] - 1);

                        if (i - lst + 1 != o) {
                                ans ++;
                                lst = i;
                        }
                }
                else {
                        lst = i;
                        ans ++;
                }
        }
        ans ++;

        cout << ans << endl;
}
/**
6
3 6 4 5 1 2
**/

컴파일 시 표준 에러 (stderr) 메시지

money.cpp: In function 'int main()':
money.cpp:33:25: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf ("%d", &n);
                         ^
money.cpp:36:36: 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...