제출 #91094

#제출 시각아이디문제언어결과실행 시간메모리
91094emil_physmathMoney (IZhO17_money)C++14
0 / 100
2 ms508 KiB
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <set>
using namespace std;

int a[1000005];

int main()
{
	int n;
	cin>>n;
	for (int k=0; k<n; k++)
		scanf("%d", a+k);
	int i=0, ans=0;
	multiset<int> curSorted;
	while (i<n)
	{
		ans++;
		int j=i;
		while (j+1<n && a[j+1]>a[j])
			j++;
		auto lBound=curSorted.upper_bound(a[i]);
		if (lBound==curSorted.begin())
			lBound=curSorted.end();
		else
			lBound--;
		auto rBound=(lBound==curSorted.end()?curSorted.begin():++lBound);
		if (rBound!=curSorted.end())
			j=upper_bound(a+i, a+j+1, *rBound)-a-1;
		for (int k=i; k<=j; k++)
			curSorted.insert(a[k]);
		i=j+1;
	}
	cout<<ans<<'\n';

	char I;
	cin >> I;
	return 0;
}

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

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