git reimport
This commit is contained in:
69
archive/2018.04/2018.04.07 - unsorted/TaskA.java
Normal file
69
archive/2018.04/2018.04.07 - unsorted/TaskA.java
Normal file
@@ -0,0 +1,69 @@
|
||||
package chelper;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import io.InputReader;
|
||||
import io.OutputWriter;
|
||||
import misc.GCJSolution;
|
||||
import misc.SimpleSavingChelperSolution;
|
||||
|
||||
|
||||
public class TaskA extends GCJSolution {
|
||||
|
||||
public void solve(int testNumber, InputReader in, OutputWriter out) {
|
||||
wrapSolve(testNumber, in, out);
|
||||
}
|
||||
|
||||
long get(List<Integer> a) {
|
||||
long res = 0;
|
||||
long t = 1;
|
||||
for (int i : a) {
|
||||
res += i * t;
|
||||
t *= 2;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void solve(int testNumber) {
|
||||
long d = in.nextLong();
|
||||
String s = in.nextString();
|
||||
|
||||
List<Integer> a = new ArrayList<>();
|
||||
|
||||
int t = 0;
|
||||
|
||||
for (char c : s.toCharArray()) {
|
||||
if (c == 'C') {
|
||||
a.add(t);
|
||||
t = 0;
|
||||
}
|
||||
if (c == 'S') {
|
||||
t++;
|
||||
}
|
||||
}
|
||||
if (t > 0) {
|
||||
a.add(t);
|
||||
}
|
||||
|
||||
int c = 0;
|
||||
|
||||
while (get(a) > d) {
|
||||
c++;
|
||||
if (a.size() == 1) {
|
||||
out.println("IMPOSSIBLE");
|
||||
return;
|
||||
}
|
||||
|
||||
a.set(a.size() - 1, a.get(a.size() - 1) - 1);
|
||||
a.set(a.size() - 2, a.get(a.size() - 2) + 1);
|
||||
|
||||
if (a.get(a.size() - 1) == 0) {
|
||||
a.remove(a.size() - 1);
|
||||
}
|
||||
}
|
||||
|
||||
out.println(c);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user