結果
問題 | No.190 Dry Wet Moist |
ユーザー |
![]() |
提出日時 | 2015-04-22 00:40:01 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 693 ms / 2,000 ms |
コード長 | 3,639 bytes |
コンパイル時間 | 3,335 ms |
コンパイル使用メモリ | 83,200 KB |
実行使用メモリ | 72,888 KB |
最終ジャッジ日時 | 2024-07-04 21:02:32 |
合計ジャッジ時間 | 12,101 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 28 |
ソースコード
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.util.Arrays;import java.util.Comparator;import java.util.Deque;import java.util.HashSet;import java.util.LinkedList;import java.util.List;public class Main {public static void main(String[] args) throws NumberFormatException,IOException {ContestScanner in = new ContestScanner();int n = in.nextInt()*2;int[] a = new int[n];for(int i=0; i<n; i++){a[i] = in.nextInt();}Arrays.sort(a);Deque<Integer> qu = new LinkedList<Integer>();for(int i=0; i<n; i++){qu.add(a[i]);}// List<Integer> list = new LinkedList<Integer>();int count = 0;while(qu.size()>1){if(qu.peekFirst() + qu.peekLast() < 0){count++;qu.pollFirst();qu.pollLast();}else{qu.pollLast();}}System.out.print(count+" ");qu = new LinkedList<Integer>();for(int i=0; i<n; i++){qu.add(a[i]);}// List<Integer> list = new LinkedList<Integer>();count = 0;while(qu.size()>1){if(qu.peekFirst() + qu.peekLast() > 0){count++;qu.pollFirst();qu.pollLast();}else{qu.pollFirst();}}System.out.print(count+" ");qu = new LinkedList<Integer>();// list = new LinkedList<Integer>();for(int i=0; i<n; i++){qu.add(a[i]);}count = 0;while(qu.size()>1){if(qu.peekFirst() + qu.peekLast() == 0){count++;qu.pollFirst();qu.pollLast();}else if(qu.peekFirst() + qu.peekLast() < 0){qu.pollFirst();}else{qu.pollLast();}}System.out.println(count);}}class Node{int id;HashSet<Node> edge = new HashSet<Node>();public Node(int id) {this.id = id;}public void createEdge(Node node) {edge.add(node);}}class MyComp implements Comparator<int[]> {final int idx;public MyComp(int idx){this.idx = idx;}public int compare(int[] a, int[] b) {return a[idx] - b[idx];}}class Reverse implements Comparator<Integer> {public int compare(Integer arg0, Integer arg1) {return arg1 - arg0;}}class ContestWriter {private PrintWriter out;public ContestWriter(String filename) throws IOException {out = new PrintWriter(new BufferedWriter(new FileWriter(filename)));}public ContestWriter() throws IOException {out = new PrintWriter(System.out);}public void println(String str) {out.println(str);}public void print(String str) {out.print(str);}public void close() {out.close();}}class ContestScanner {private BufferedReader reader;private String[] line;private int idx;public ContestScanner() throws FileNotFoundException {reader = new BufferedReader(new InputStreamReader(System.in));}public ContestScanner(String filename) throws FileNotFoundException {reader = new BufferedReader(new InputStreamReader(new FileInputStream(filename)));}public String nextToken() throws IOException {if (line == null || line.length <= idx) {line = reader.readLine().trim().split(" ");idx = 0;}return line[idx++];}public String readLine() throws IOException{return reader.readLine();}public long nextLong() throws IOException, NumberFormatException {return Long.parseLong(nextToken());}public int nextInt() throws NumberFormatException, IOException {return (int) nextLong();}public double nextDouble() throws NumberFormatException, IOException {return Double.parseDouble(nextToken());}}