# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
99513 | 2019-03-04T14:07:41 Z | rzbt | Money (IZhO17_money) | C++14 | 3 ms | 384 KB |
#include <bits/stdc++.h> #define MAXN 1000006 using namespace std; int n; int bit[MAXN]; vector<int> niz; void dodaj(int p,int x){ for(;p<MAXN;p+=(-p)&p) bit[p]+=x; } int dobij(int p){ int z=0; for(;p>0;p-=(-p)&p) z+=bit[p]; return z; } int res=0; int main() { scanf("%d", &n); for(int i=1;i<=n;i++){ int t; scanf("%d", &t); if(niz.empty()){ niz.push_back(t); res=1; continue; } if(t<niz.back() || dobij(t-1)>dobij(niz[0]+1)){ res++; for(auto x:niz)dodaj(x,1); niz.clear(); niz.push_back(t); }else{ niz.push_back(t); } } printf("%d",res); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 384 KB | Output is correct |
2 | Incorrect | 2 ms | 384 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 384 KB | Output is correct |
2 | Incorrect | 2 ms | 384 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 384 KB | Output is correct |
2 | Incorrect | 2 ms | 384 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 384 KB | Output is correct |
2 | Incorrect | 2 ms | 384 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |