git reimport
This commit is contained in:
54
archive/2018.02/2018.02.17 - unsorted/TaskB.java
Normal file
54
archive/2018.02/2018.02.17 - unsorted/TaskB.java
Normal file
@@ -0,0 +1,54 @@
|
||||
package chelper;
|
||||
|
||||
import java.util.SortedSet;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import io.InputReader;
|
||||
import io.OutputWriter;
|
||||
import misc.GCJSolution;
|
||||
|
||||
|
||||
public class TaskB extends GCJSolution {
|
||||
|
||||
public void solve(int testNumber, InputReader in, OutputWriter out) {
|
||||
wrapSolve(testNumber, in, out);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void solve(int testNumber) {
|
||||
int l = in.nextInt();
|
||||
SortedSet<Pair> team = new TreeSet<>();
|
||||
for (int i = 0; i < l; i++) {
|
||||
long count = in.nextLong();
|
||||
int exp = in.nextInt();
|
||||
team.add(new Pair(count, exp));
|
||||
}
|
||||
long leftovers = 0;
|
||||
for (Pair manager : team) {
|
||||
long capacity = manager.count * manager.experience;
|
||||
|
||||
long canAttach = Math.min(leftovers, capacity);
|
||||
|
||||
leftovers = manager.count + leftovers - canAttach;
|
||||
}
|
||||
|
||||
int maxExp = team.last().experience;
|
||||
|
||||
out.println(Math.max(leftovers, maxExp));
|
||||
}
|
||||
|
||||
class Pair implements Comparable<Pair> {
|
||||
long count;
|
||||
int experience;
|
||||
|
||||
public Pair(long count, int experience) {
|
||||
this.count = count;
|
||||
this.experience = experience;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(Pair o) {
|
||||
return Integer.compare(this.experience, o.experience);
|
||||
}
|
||||
}
|
||||
}
|
32
archive/2018.02/2018.02.17 - unsorted/TaskB.task
Normal file
32
archive/2018.02/2018.02.17 - unsorted/TaskB.task
Normal file
@@ -0,0 +1,32 @@
|
||||
5 TaskB
|
||||
6 SINGLE
|
||||
8 STANDARD
|
||||
9 input.txt
|
||||
8 STANDARD
|
||||
10 output.txt
|
||||
1
|
||||
0
|
||||
21 2
|
||||
3
|
||||
2 0
|
||||
2 2
|
||||
1 3
|
||||
1
|
||||
5 0
|
||||
21 Case #1: 4
|
||||
Case #2: 5
|
||||
1
|
||||
11 src/chelper
|
||||
16 -Xmx256m -Xss64m
|
||||
4 Main
|
||||
13 chelper.TaskB
|
||||
39 net.egork.chelper.checkers.TokenChecker
|
||||
0
|
||||
0
|
||||
10 2018.02.17
|
||||
0
|
||||
1
|
||||
14 io.InputReader
|
||||
15 io.OutputWriter
|
||||
0
|
||||
0
|
54
archive/2018.02/2018.02.17 - unsorted/TaskB2.java
Normal file
54
archive/2018.02/2018.02.17 - unsorted/TaskB2.java
Normal file
@@ -0,0 +1,54 @@
|
||||
package chelper;
|
||||
|
||||
import java.util.SortedSet;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import io.InputReader;
|
||||
import io.OutputWriter;
|
||||
import misc.SimpleSavingChelperSolution;
|
||||
|
||||
|
||||
public class TaskB2 extends SimpleSavingChelperSolution {
|
||||
|
||||
public void solve(int testNumber, InputReader in, OutputWriter out) {
|
||||
wrapSolve(testNumber, in, out);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void solve(int testNumber) {
|
||||
int l = in.nextInt();
|
||||
SortedSet<Pair> team = new TreeSet<>();
|
||||
for (int i = 0; i < l; i++) {
|
||||
long count = in.nextLong();
|
||||
int exp = in.nextInt();
|
||||
team.add(new Pair(count, exp));
|
||||
}
|
||||
long leftovers = 0;
|
||||
for (Pair manager : team) {
|
||||
long capacity = manager.count * manager.experience;
|
||||
|
||||
long canAttach = Math.min(leftovers, capacity);
|
||||
|
||||
leftovers = manager.count + leftovers - canAttach;
|
||||
}
|
||||
|
||||
int maxExp = team.last().experience;
|
||||
|
||||
out.println(Math.max(leftovers, maxExp + 1));
|
||||
}
|
||||
|
||||
class Pair implements Comparable<Pair> {
|
||||
long count;
|
||||
int experience;
|
||||
|
||||
public Pair(long count, int experience) {
|
||||
this.count = count;
|
||||
this.experience = experience;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(Pair o) {
|
||||
return Integer.compare(this.experience, o.experience);
|
||||
}
|
||||
}
|
||||
}
|
32
archive/2018.02/2018.02.17 - unsorted/TaskB2.task
Normal file
32
archive/2018.02/2018.02.17 - unsorted/TaskB2.task
Normal file
@@ -0,0 +1,32 @@
|
||||
6 TaskB2
|
||||
12 MULTI_NUMBER
|
||||
8 STANDARD
|
||||
9 input.txt
|
||||
8 STANDARD
|
||||
10 output.txt
|
||||
1
|
||||
0
|
||||
21 2
|
||||
3
|
||||
2 0
|
||||
2 2
|
||||
1 3
|
||||
1
|
||||
5 0
|
||||
21 Case #1: 4
|
||||
Case #2: 5
|
||||
1
|
||||
11 src/chelper
|
||||
16 -Xmx256m -Xss64m
|
||||
4 Main
|
||||
14 chelper.TaskB2
|
||||
39 net.egork.chelper.checkers.TokenChecker
|
||||
0
|
||||
0
|
||||
10 2018.02.17
|
||||
0
|
||||
1
|
||||
14 io.InputReader
|
||||
15 io.OutputWriter
|
||||
0
|
||||
0
|
102
archive/2018.02/2018.02.17 - unsorted/TaskD.java
Normal file
102
archive/2018.02/2018.02.17 - unsorted/TaskD.java
Normal file
@@ -0,0 +1,102 @@
|
||||
package chelper;
|
||||
|
||||
import io.InputReader;
|
||||
import io.OutputWriter;
|
||||
import misc.GCJSolution;
|
||||
import misc.SimpleSavingChelperSolution;
|
||||
|
||||
|
||||
public class TaskD extends GCJSolution {
|
||||
|
||||
public void solve(int testNumber, InputReader in, OutputWriter out) {
|
||||
wrapSolve(testNumber, in, out);
|
||||
}
|
||||
|
||||
double[][][] dp;
|
||||
|
||||
public TaskD() {
|
||||
super();
|
||||
dp = new double[101][101][101];
|
||||
|
||||
for (int c = 0; c <= 100; c++) {
|
||||
for (int b = 0; b <= 100; b++) {
|
||||
for (int a = 0; a <= 100; a++) {
|
||||
dp[a][b][c] = Double.NaN;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dp[0][0][0] = 0;
|
||||
|
||||
get(0, 0, 100);
|
||||
|
||||
// for (int c = 0; c <= 2; c++) {
|
||||
// for (int b = 0; b <= 2; b++) {
|
||||
// for (int a = 0; a <= 2; a++) {
|
||||
// System.out.println(a + " " + b + " " + c + " " + dp[a][b][c]);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
public void solve(int testNumber) {
|
||||
int n = in.nextInt();
|
||||
|
||||
out.println(get(0, 0, n));
|
||||
}
|
||||
|
||||
double get(int a, int b, int c) {
|
||||
if (a < 0 || b < 0 || c < 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (Double.isNaN(dp[a][b][c])) {
|
||||
calc(a, b, c);
|
||||
}
|
||||
|
||||
return dp[a][b][c];
|
||||
}
|
||||
|
||||
void calc(int a, int b, int c) {
|
||||
double aa = a;
|
||||
double bb = 2 * b;
|
||||
double cc = 3 * c;
|
||||
|
||||
double n = aa + bb + cc;
|
||||
|
||||
//////////////
|
||||
|
||||
dp[a][b][c] = 0;
|
||||
|
||||
if (n >= 3) {
|
||||
dp[a][b][c] += (cc / n) * (2 / (n - 1)) * (1 / (n - 2)) * (get(a + 0, b + 0, c - 1) + 1 + 0);
|
||||
|
||||
dp[a][b][c] += (cc / n) * (2 / (n - 1)) * (aa / (n - 2)) * (get(a + 0, b + 0, c - 1) + 1 + 1);
|
||||
dp[a][b][c] += (cc / n) * (2 / (n - 1)) * (bb / (n - 2)) * (get(a + 2, b - 1, c - 1) + 1 + 0);
|
||||
dp[a][b][c] += (cc / n) * (2 / (n - 1)) * ((cc - 3) / (n - 2)) * (get(a + 1, b + 1, c - 2) + 1 + 0);
|
||||
}
|
||||
|
||||
if (n >= 2) {
|
||||
dp[a][b][c] += (cc / n) * (aa / (n - 1)) * (get(a - 1, b + 1, c - 1) + 1 + 1);
|
||||
dp[a][b][c] += (cc / n) * (bb / (n - 1)) * (get(a + 1, b + 0, c - 1) + 1 + 0);
|
||||
dp[a][b][c] += (cc / n) * ((cc - 3) / (n - 1)) * (get(a + 0, b + 2, c - 2) + 1 + 0);
|
||||
}
|
||||
|
||||
//////////////
|
||||
|
||||
if (n >= 2) {
|
||||
dp[a][b][c] += (bb / n) * (1 / (n - 1)) * (get(a + 0, b - 1, c + 0) + 1 + 0);
|
||||
|
||||
dp[a][b][c] += (bb / n) * (aa / (n - 1)) * (get(a + 0, b - 1, c + 0) + 1 + 1);
|
||||
dp[a][b][c] += (bb / n) * ((bb - 2) / (n - 1)) * (get(a + 2, b - 2, c + 0) + 1 + 0);
|
||||
dp[a][b][c] += (bb / n) * (cc / (n - 1)) * (get(a + 1, b + 0, c - 1) + 1 + 0);
|
||||
}
|
||||
|
||||
//////////////
|
||||
|
||||
dp[a][b][c] += (aa / n) * (get(a - 1, b + 0, c + 0) + 1);
|
||||
|
||||
}
|
||||
}
|
||||
|
150
archive/2018.02/2018.02.17 - unsorted/TaskD.task
Normal file
150
archive/2018.02/2018.02.17 - unsorted/TaskD.task
Normal file
@@ -0,0 +1,150 @@
|
||||
5 TaskD
|
||||
12 MULTI_NUMBER
|
||||
8 STANDARD
|
||||
9 input.txt
|
||||
8 STANDARD
|
||||
10 output.txt
|
||||
4
|
||||
0
|
||||
7 3
|
||||
1
|
||||
2
|
||||
5
|
||||
53 Case #1: 1.000000
|
||||
Case #2: 3.400000
|
||||
Case #3: 9.842024
|
||||
1
|
||||
1
|
||||
3 1
|
||||
1
|
||||
-1
|
||||
0
|
||||
2
|
||||
12 5
|
||||
1
|
||||
2
|
||||
5
|
||||
3
|
||||
4
|
||||
|
||||
-1
|
||||
1
|
||||
3
|
||||
296 100
|
||||
1
|
||||
2
|
||||
5
|
||||
100
|
||||
86
|
||||
7
|
||||
45
|
||||
34
|
||||
89
|
||||
49
|
||||
91
|
||||
35
|
||||
3
|
||||
76
|
||||
79
|
||||
75
|
||||
53
|
||||
70
|
||||
95
|
||||
14
|
||||
72
|
||||
69
|
||||
8
|
||||
10
|
||||
36
|
||||
18
|
||||
28
|
||||
16
|
||||
73
|
||||
63
|
||||
33
|
||||
44
|
||||
55
|
||||
32
|
||||
98
|
||||
50
|
||||
65
|
||||
97
|
||||
21
|
||||
30
|
||||
78
|
||||
59
|
||||
22
|
||||
60
|
||||
74
|
||||
19
|
||||
88
|
||||
52
|
||||
66
|
||||
77
|
||||
29
|
||||
26
|
||||
82
|
||||
42
|
||||
12
|
||||
90
|
||||
61
|
||||
23
|
||||
48
|
||||
62
|
||||
56
|
||||
83
|
||||
51
|
||||
58
|
||||
15
|
||||
46
|
||||
67
|
||||
87
|
||||
13
|
||||
25
|
||||
4
|
||||
20
|
||||
43
|
||||
41
|
||||
68
|
||||
93
|
||||
27
|
||||
38
|
||||
84
|
||||
6
|
||||
24
|
||||
39
|
||||
47
|
||||
80
|
||||
85
|
||||
99
|
||||
37
|
||||
40
|
||||
17
|
||||
54
|
||||
92
|
||||
57
|
||||
31
|
||||
64
|
||||
71
|
||||
81
|
||||
11
|
||||
9
|
||||
94
|
||||
96
|
||||
|
||||
-1
|
||||
1
|
||||
11 src/chelper
|
||||
16 -Xmx256m -Xss64m
|
||||
4 Main
|
||||
13 chelper.TaskD
|
||||
39 net.egork.chelper.checkers.TokenChecker
|
||||
0
|
||||
0
|
||||
10 2018.02.17
|
||||
0
|
||||
1
|
||||
14 io.InputReader
|
||||
15 io.OutputWriter
|
||||
0
|
||||
0
|
74
archive/2018.02/2018.02.17 - unsorted/TaskС.java
Normal file
74
archive/2018.02/2018.02.17 - unsorted/TaskС.java
Normal file
@@ -0,0 +1,74 @@
|
||||
package chelper;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import io.InputReader;
|
||||
import io.OutputWriter;
|
||||
import misc.GCJSolution;
|
||||
import misc.SimpleSavingChelperSolution;
|
||||
|
||||
|
||||
public class TaskС extends GCJSolution {
|
||||
|
||||
public void solve(int testNumber, InputReader in, OutputWriter out) {
|
||||
wrapSolve(testNumber, in, out);
|
||||
}
|
||||
|
||||
int l;
|
||||
|
||||
@Override
|
||||
public void solve(int testNumber) {
|
||||
l = in.nextInt();
|
||||
|
||||
char[] ac = in.nextString().toCharArray();
|
||||
char[] bc = in.nextString().toCharArray();
|
||||
char[] cc = in.nextString().toCharArray();
|
||||
|
||||
int[] a = new int[l];
|
||||
int[] b = new int[l];
|
||||
int[] c = new int[l];
|
||||
|
||||
for (int i = 0; i < l; i++) {
|
||||
a[i] = ac[i] - 'A';
|
||||
b[i] = bc[i] - 'A';
|
||||
c[i] = cc[i] - 'A';
|
||||
}
|
||||
|
||||
boolean ok1 = possible(b, a, c) || possible(c, a, b);
|
||||
boolean ok2 = possible(a, b, c) || possible(c, b, a);
|
||||
boolean ok3 = possible(a, c, b) || possible(b, c, a);
|
||||
|
||||
out.print(ok1 ? "YES" : "NO");
|
||||
out.print(" ");
|
||||
out.print(ok2 ? "YES" : "NO");
|
||||
out.print(" ");
|
||||
out.print(ok3 ? "YES" : "NO");
|
||||
out.println();
|
||||
}
|
||||
|
||||
boolean possible(int[] a, int[] b, int[] c) {
|
||||
int a0 = -1;
|
||||
int a1 = -1;
|
||||
int b0 = -1;
|
||||
int b1 = -1;
|
||||
|
||||
for (int i = 0; i < l; i++) {
|
||||
if (a[i] != b[i]) {
|
||||
a0 = a[i];
|
||||
a1 = b[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < l; i++) {
|
||||
if (b[i] != c[i]) {
|
||||
b0 = b[i];
|
||||
b1 = c[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return !(a0 == b1 && a1 == b0);
|
||||
}
|
||||
}
|
33
archive/2018.02/2018.02.17 - unsorted/TaskС.task
Normal file
33
archive/2018.02/2018.02.17 - unsorted/TaskС.task
Normal file
@@ -0,0 +1,33 @@
|
||||
6 TaskС
|
||||
12 MULTI_NUMBER
|
||||
8 STANDARD
|
||||
9 input.txt
|
||||
8 STANDARD
|
||||
10 output.txt
|
||||
1
|
||||
0
|
||||
49 3
|
||||
3
|
||||
BCB CAB CBC
|
||||
2
|
||||
CC CA AA
|
||||
6
|
||||
MEDIAN MEDIAL MEDIAS
|
||||
59 Case #1: NO YES YES
|
||||
Case #2: NO YES NO
|
||||
Case #3: YES YES YES
|
||||
1
|
||||
11 src/chelper
|
||||
16 -Xmx256m -Xss64m
|
||||
4 Main
|
||||
14 chelper.TaskС
|
||||
39 net.egork.chelper.checkers.TokenChecker
|
||||
0
|
||||
0
|
||||
10 2018.02.17
|
||||
0
|
||||
1
|
||||
14 io.InputReader
|
||||
15 io.OutputWriter
|
||||
0
|
||||
0
|
Reference in New Issue
Block a user