题目大意:给出10万条直线,求是否存在交点于x1,x2之间
题目链接:http://codeforces.com/contest/593/problem/B
import java.io.*;
import java.math.*;
import java.util.*;
public class Main {
static class node {
long y1, y2;
node(long a, long b) {
y1 = a;
y2 = b;
}
}
static class cmp implements Comparator<node> {
// 从小到大
public int compare(node A, node B) {
if (A.y1 == B.y1) {
if (A.y2 > B.y2)
return 1;
else
return -1;
}
if (A.y1 > B.y1)
return 1;
else
return -1;
}
}
public static void main(String[] argc) {
Scanner cin = new Scanner(System.in);
int i;
node[] p = new node[100005];
while (cin.hasNext()) {
long n = cin.nextLong();
long x1 = cin.nextLong();
long x2 = cin.nextLong();
for (i = 0; i < n; i++) {
long a = cin.nextLong();
long b = cin.nextLong();
p[i] = new node(a * x1 + b, a * x2 + b);
}
Arrays.sort(p, 0, (int) n, new cmp());
for (i = 1; i < n; i++) {
if (p[i].y1 != p[i - 1].y1)
if (p[i].y2 < p[i - 1].y2)
break;
}
if (i == n)
System.out.println("NO");
else
System.out.println("YES");
}
}
}
Collections.sort(apiMainModels, new Comparator<ApiMainModel>() {
@Override
public int compare(ApiMainModel o1, ApiMainModel o2) {
return o1.getApi_right().compareTo(o2.getApi_right());
}
});