소프티어 lv.3 Phi Squared [Java]
알고리즘/java 2025. 4. 27. 22:11import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayDeque;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
ArrayDeque<Microbe> que = new ArrayDeque<>();
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
que.add(new Microbe(i + 1, Long.parseLong(st.nextToken())));
}
while(que.size() > 1) {
ArrayDeque<Microbe> nextQue = new ArrayDeque<>();
while(!que.isEmpty()) {
Microbe mic = que.poll();
long micValue = mic.value;
if(!que.isEmpty() && que.peek().value <= mic.value) {
micValue += que.poll().value;
}
if(!nextQue.isEmpty() && nextQue.peekLast().value <= mic.value) {
micValue += nextQue.pollLast().value;
}
nextQue.add(new Microbe(mic.idx, micValue));
}
que = nextQue;
}
Microbe result = que.poll();
System.out.println(result.value);
System.out.println(result.idx);
}
}
class Microbe {
int idx;
long value;
public Microbe(int idx, long value) {
this.idx = idx;
this.value = value;
}
}
[백트래킹] 백준 9663번 N-Queen [Java] (2) | 2025.04.22 |
---|---|
소프티어 lv.3 함께하는 효도 (1) | 2025.04.21 |
[백트래킹] 백준 15651번 N과 M (3) [Java] (1) | 2025.04.18 |
[백트래킹] 백준 15650번 N과 M (2) [Java] (1) | 2025.04.17 |
[백트래킹] 백준 15649번 N과 M (1) [Java] (0) | 2025.04.17 |