-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProblem358A.java
More file actions
123 lines (113 loc) · 2.95 KB
/
Copy pathProblem358A.java
File metadata and controls
123 lines (113 loc) · 2.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
package CodeForces;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Problem358A
{
public static void main(String[] args) throws IOException
{
class SemiC implements Comparable<SemiC>
{
public int edge1;
public int edge2;
public int length;
public SemiC(int edgeA, int edgeB)
{
if (edgeA < edgeB)
{
edge1 = edgeA;
edge2 = edgeB;
}
else
{
edge1 = edgeB;
edge2 = edgeA;
}
length = Math.abs(edgeA-edgeB);
}
@Override
public int compareTo(SemiC otherC)
{
return this.length - otherC.length;
}
public boolean intersect(SemiC otherC)
{
if (this.edge1 < otherC.edge1 && this.edge2 < otherC.edge2 && this.edge2 > otherC.edge1)
{
return true;
}
else if (this.edge1 > otherC.edge1 && this.edge2 > otherC.edge2 && this.edge1 < otherC.edge2)
{
return true;
}
else
return false;
}
}
fastinput.init(System.in);
int n = fastinput.nextInt();
if (n <= 2)
{
System.out.println("no");
}
else
{
int[] edges = new int[n];
SemiC[] sc = new SemiC[n-1];
int f;
boolean success = true;
for (f = 0; f < n; f++)
{
edges[f] = fastinput.nextInt()+1000000;
if (f > 0)
{
sc[f-1] = new SemiC(edges[f-1], edges[f]);
}
if (f > 1)
{
SemiC c = sc[f-1];
for (int i = f-2; i>= 0; i--)
{
if (sc[i].intersect(c))
{
success = false;
break;
}
}
}
}
if (success)
System.out.println("no");
else
System.out.println("yes");
}
}
public static class fastinput
{
static BufferedReader bf;
static StringTokenizer st;
static void init(InputStream input)
{
bf = new BufferedReader(new InputStreamReader(input));
st = new StringTokenizer("");
}
static String nextline() throws IOException
{
return bf.readLine();
}
static String next() throws IOException
{
while (!st.hasMoreTokens())
{
st = new StringTokenizer(bf.readLine());
}
return st.nextToken();
}
static int nextInt() throws IOException
{
return Integer.parseInt(next());
}
}
}