結果
問題 |
No.694 square1001 and Permutation 3
|
ユーザー |
![]() |
提出日時 | 2018-07-08 13:08:33 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 939 bytes |
コンパイル時間 | 1,650 ms |
コンパイル使用メモリ | 105,728 KB |
実行使用メモリ | 48,256 KB |
最終ジャッジ日時 | 2024-07-06 22:00:41 |
合計ジャッジ時間 | 7,629 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | -- * 1 |
other | AC * 2 WA * 5 TLE * 1 -- * 5 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System; using System.Collections.Generic; using System.Linq; public class Yuki694 { public static void Main() { var n = int.Parse(Console.ReadLine()); var a = new List<int>(); var b = new List<int>(); string s; while((s = Console.ReadLine()) != null) { a.Add(int.Parse(s)); b.Add(int.Parse(s)); } b.Sort(); var cnt = 0; for(int i = 0; i < n; ++i) { for(int j = i + 1; j < n; ++j) if(a[i] > a[j]) ++cnt; } Console.WriteLine(cnt); for(int i = 0; i < n - 1; ++i) { var x = BinarySearch(b, a[i]) + 1; cnt += a.Count() - 2 * x + 1; Console.WriteLine(cnt); } } private static int BinarySearch(List<int> list, int target) { var min = 0; var max = list.Count - 1; while(true) { if(max < min) return -1; var mid = min + (max - min) / 2; var dic = target - list[mid]; if (dic == 0) return mid; else if (dic < 0) max = mid - 1; else min = mid + 1; } } }