제출 #166401

#제출 시각아이디문제언어결과실행 시간메모리
166401abilMoney (IZhO17_money)C++14
0 / 100
2 ms376 KiB
#include <bits/stdc++.h>
 
#define fr first
#define sc second
#define pb push_back
#define mk make_pair
#define all(s) s.begin(),s.end()
#define int long long
 
using namespace std;
 
const int N = (1e6 + 12);
const int mod = (1e9 + 7);
const int INF = (1e15 + 9);

int t[N], a[N], n, cnt[N];

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

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

inline int sum(int l, int r) {
    if(l == r) {
        return 0;
    }
    return get(r - 1) - get(l);
}

main()
{
	int ans = 0;
	cin >> n;
	for(int i = 1;i <= n; i++){
		scanf("%lld", &a[i]);
	}
	int i = 1;
	while(i <= n){
		int j = i + 1;
		ans++;
		while(j <= n && a[j] >= a[j - 1] && sum(a[i], a[j]) == 0){
			j++;
		}
		while(i < j) {
				update(a[i]);
				i++;
		}
	}
	cout << ans;
}

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

money.cpp:39:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main()
      ^
money.cpp: In function 'int main()':
money.cpp:44:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld", &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...