답안 #120031

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
120031 2019-06-23T05:34:52 Z Boxworld Sails (IOI07_sails) C++14
40 / 100
1000 ms 3308 KB
#include <bits/stdc++.h>
using namespace std;
typedef pair<int,int> P;
const int N=100010;
struct O{int x,y;}a[N];
int n,ans[N];
priority_queue<P,vector<P>,greater<P> > Q;
bool cmp(O a,O b){
	if (a.x<b.x)return true;
	else if (a.x==b.x)return a.y<b.y;
	return false;
}
int main(){
	scanf("%d",&n);
	for (int i=0;i<n;i++)scanf("%d%d",&a[i].x,&a[i].y);
	sort(a,a+n,cmp);
	int tmp=0;
	for (int i=0;i<n;i++){
		for (int j=tmp+1;j<=a[i].x;j++)Q.push(make_pair(0,j));
		tmp=a[i].x;
		queue<int> Q1;
		for (int j=0;j<a[i].y;j++){
			int x=Q.top().second;Q.pop();
			ans[x]++;
			Q1.push(x);
		}
		while(!Q1.empty()){
			int x=Q1.front();Q1.pop();
			Q.push(make_pair(ans[x],x));
		}
	}
	long long S=0;
	for (int i=1;i<=a[n-1].x;i++)S=S+(ans[i]*(ans[i]-1))/2;
	printf("%lld\n",S);
	return 0;
}

Compilation message

sails.cpp: In function 'int main()':
sails.cpp:14:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&n);
  ~~~~~^~~~~~~~~
sails.cpp:15:28: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for (int i=0;i<n;i++)scanf("%d%d",&a[i].x,&a[i].y);
                       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 384 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 384 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 384 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 384 KB Output is correct
2 Correct 15 ms 384 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 375 ms 576 KB Output is correct
2 Correct 334 ms 1772 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1083 ms 888 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1092 ms 1144 KB Time limit exceeded
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1083 ms 1656 KB Time limit exceeded
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1083 ms 3308 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1057 ms 2272 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1079 ms 2784 KB Time limit exceeded
2 Halted 0 ms 0 KB -