Submission #170115

# Submission time Handle Problem Language Result Execution time Memory
170115 2019-12-24T03:59:38 Z nvmdava Money (IZhO17_money) C++17
0 / 100
2 ms 380 KB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ff first
#define ss second
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
#define INF 0x3f3f3f3f
#define MOD 1000000007
#define N 1000005

int a[N];
int fen[N];

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

int query(int x){
    int s = 0;
    while(x){
        s += fen[x];
        x -= x & -x;
    }
    return s;
}

int dp[N];
 
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    int n;
    cin>>n;
    int l = 0;
    a[0] = 1000005;
    for(int i = 1; i <= n; ++i){
        cin>>a[i];
        if(a[i] < a[i - 1])
            while(i != l)
                update(a[l++]);
        while(l < i && query(a[i] - 1) != query(a[l])){
            update(a[l++]);
        }
        dp[i] = dp[l - 1] + 1;
    }
    cout<<dp[n];
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 380 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Incorrect 2 ms 380 KB Output isn't correct
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 380 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Incorrect 2 ms 380 KB Output isn't correct
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 380 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Incorrect 2 ms 380 KB Output isn't correct
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 380 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Incorrect 2 ms 380 KB Output isn't correct
9 Halted 0 ms 0 KB -