답안 #119301

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
119301 2019-06-21T02:16:51 Z tmwilliamlin168 Printed Circuit Board (CEOI12_circuit) C++14
0 / 100
44 ms 10744 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];
	return 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];
	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 8 ms 7424 KB Output isn't correct
4 Incorrect 8 ms 7488 KB Output isn't correct
5 Incorrect 10 ms 7652 KB Output isn't correct
6 Incorrect 10 ms 7680 KB Output isn't correct
7 Incorrect 12 ms 7928 KB Output isn't correct
8 Incorrect 10 ms 7552 KB Output isn't correct
9 Incorrect 10 ms 7552 KB Output isn't correct
10 Incorrect 10 ms 7680 KB Output isn't correct
11 Incorrect 11 ms 7680 KB Output isn't correct
12 Incorrect 12 ms 7936 KB Output isn't correct
13 Incorrect 15 ms 8064 KB Output isn't correct
14 Incorrect 14 ms 8164 KB Output isn't correct
15 Incorrect 16 ms 8320 KB Output isn't correct
16 Incorrect 25 ms 9052 KB Output isn't correct
17 Incorrect 26 ms 9080 KB Output isn't correct
18 Incorrect 43 ms 10744 KB Output isn't correct
19 Incorrect 43 ms 10744 KB Output isn't correct
20 Incorrect 44 ms 10744 KB Output isn't correct