結果
| 問題 |
No.694 square1001 and Permutation 3
|
| コンテスト | |
| ユーザー |
ixTL255
|
| 提出日時 | 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;
}
}
}
ixTL255