답안 #119297

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
119297 2019-06-21T02:12:47 Z tmwilliamlin168 Printed Circuit Board (CEOI12_circuit) C++14
0 / 100
79 ms 21076 KB
#include <bits/stdc++.h>
using namespace std;

#define ll long long

const int mxN=1e5;
int n, b[mxN], c[mxN+1], e1[mxN], e2[mxN];
array<ll, 2> a[mxN+1];
vector<int> va[mxN], vr[mxN], vp[mxN], ans;

bool cw(int x, int y, int z) {
	return (a[z][1]-a[x][1])*(a[y][0]-a[x][0])<(a[y][1]-a[x][1])*(a[z][0]-a[x][0]);
}

bool pcmp(const int &i, const int &j) {
	return a[i][1]*a[j][0]<a[j][1]*a[i][0];
}

struct scmp {
	bool operator()(const int &i, const int &j) const {
		if(e1[i]==e1[j])
			return c[e2[i]]<c[e2[j]]?!cw(e1[j], e2[j], e2[i]):cw(e1[i], e2[i], e2[j]);
		return c[e1[i]]<c[e1[j]]?cw(e1[i], e2[i], e1[j]):!cw(e1[j], e2[j], e1[i]);
	}
};
set<int, scmp> s;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	cin >> n;
	for(int i=0; i<n; ++i)
		cin >> a[i][0] >> a[i][1];
	a[n]=a[0];
	iota(b, b+n, 0);
	sort(b, b+n, pcmp);
	for(int i=0; i<n; ++i) {
		c[i]=lower_bound(b, b+n, i, pcmp)-b;
		vp[c[i]].push_back(i);
	}
	c[n]=c[0];
	return 0;
	for(int i=0; i<n; ++i) {
		e1[i]=i;
		e2[i]=i+1;
		if(c[e2[i]]<c[e1[i]])
			swap(e1[i], e2[i]);
		if(c[e1[i]]<c[e2[i]]) {
			va[c[e1[i]]].push_back(i);
			vr[c[e2[i]]].push_back(i);
		}
	}
	for(int i=0; i<n; ++i) {
		for(int j : vr[i])
			s.erase(j);
		for(int j : va[i])
			s.insert(j);
		int mj=-1;
		for(int j : vp[i])
			if(mj<0||a[j][0]+a[j][1]<a[mj][0]+a[mj][1])
				mj=j;
		if(~mj&&(!s.size()||!cw(e1[*s.begin()], e2[*s.begin()], mj)))
			ans.push_back(mj);
	}
	cout << ans.size() << "\n";
	sort(ans.begin(), ans.end());
	for(int a : ans)
		cout << a+1 << " ";
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 8 ms 7424 KB Output isn't correct
2 Incorrect 8 ms 7424 KB Output isn't correct
3 Incorrect 9 ms 7552 KB Output isn't correct
4 Incorrect 10 ms 7680 KB Output isn't correct
5 Incorrect 13 ms 8064 KB Output isn't correct
6 Incorrect 13 ms 8064 KB Output isn't correct
7 Incorrect 19 ms 8576 KB Output isn't correct
8 Incorrect 12 ms 7936 KB Output isn't correct
9 Incorrect 11 ms 7936 KB Output isn't correct
10 Incorrect 13 ms 8064 KB Output isn't correct
11 Incorrect 14 ms 8192 KB Output isn't correct
12 Incorrect 16 ms 8576 KB Output isn't correct
13 Incorrect 25 ms 9088 KB Output isn't correct
14 Incorrect 24 ms 9720 KB Output isn't correct
15 Incorrect 29 ms 10232 KB Output isn't correct
16 Incorrect 50 ms 12920 KB Output isn't correct
17 Incorrect 79 ms 13048 KB Output isn't correct
18 Runtime error 53 ms 20988 KB Execution killed with signal 11 (could be triggered by violating memory limits)
19 Runtime error 53 ms 20984 KB Execution killed with signal 11 (could be triggered by violating memory limits)
20 Runtime error 58 ms 21076 KB Execution killed with signal 11 (could be triggered by violating memory limits)