제출 #6116

#제출 시각아이디문제언어결과실행 시간메모리
6116ainta즐거운 채소 기르기 (JOI14_growing)C++98
컴파일 에러
0 ms0 KiB
#pragma warning(disable:4996)
#include<stdio.h>
#include<algorithm>
int n, w[300010];
using namespace std;
struct A{
	int a, num;
	bool operator <(const A &p)const{
		return a < p.a;
	}
}ord[300010];
int BIT[300010];
int Sum(int x){
	int r = 0;
	while (x){
		r += BIT[x];
		x -= (x&-x);
	}
	return r;
}
void Add(int x){
	while (x <= n){
		BIT[x]++;
		x += (x&-x);
	}
}
long long Res;
int main()
{
	int i, x, S;
	scanf("%d", &n);
	for (i = 1; i <= n; i++){
		scanf("%d", &w[i]);
		ord[i].a = w[i], ord[i].num = i;
	}
	sort(ord + 1, ord + n + 1);
	for (i = 1; i <= n; i++){
		x = ord[i].num;
		S = x - 1 - Sum(x);
		if (S < n - i - S){
			Res += S;
		}
		else Res += n - i - S;
		Add(x);
	}
	printf("%lld\n", Res);

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

growing.cpp:1:0: warning: ignoring #pragma warning  [-Wunknown-pragmas]
growing.cpp: In function 'int main()':
growing.cpp:46:23: error: expected '}' at end of input
growing.cpp:31:17: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
growing.cpp:33:21: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]