結果
問題 | No.190 Dry Wet Moist |
ユーザー |
|
提出日時 | 2020-03-27 06:30:04 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 819 ms / 2,000 ms |
コード長 | 955 bytes |
コンパイル時間 | 3,182 ms |
コンパイル使用メモリ | 88,044 KB |
実行使用メモリ | 69,700 KB |
最終ジャッジ日時 | 2025-01-02 08:10:35 |
合計ジャッジ時間 | 18,900 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 28 |
ソースコード
import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class Main{ void tr(Object...objects) {System.out.println(Arrays.deepToString(objects));} int positive(int[] A) { int s=0,t=A.length-1; int ans=0; while(s<t) { while(s<t&&A[s]+A[t]<=0)++s; if(s==t)break; ++ans; ++s;--t; } return ans; } void run() { Scanner sc=new Scanner(System.in); int N=sc.nextInt(); int[] A=new int[2*N]; for(int i=0;i<2*N;++i)A[i]=sc.nextInt(); Arrays.sort(A); int zero=0,positive=0,negative=0; int s=0,t=A.length-1; while(s<t) { if(-A[s]==A[t]) { ++s;--t; ++zero; }else if(-A[s]>A[t])++s; else --t; } positive=positive(A); for(int i=0;i<A.length;++i)A[i]*=-1; Arrays.sort(A); negative=positive(A); System.out.println(negative+" "+positive+" "+zero); } public static void main(String[] args){ new Main().run(); } }