結果

問題 No.365 ジェンガソート
ユーザー #ラス+
提出日時 2019-10-10 16:47:51
言語 C#(mono)
(mono 6.0.0.327)
結果
WA   .
実行時間 -
コード長 1,561 Byte
コンパイル時間 234 ms
使用メモリ 30,952 KB
最終ジャッジ日時 2019-10-10 16:47:56

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
in01.txt AC 25 ms
13,956 KB
in02.txt AC 27 ms
16,004 KB
in03.txt AC 27 ms
11,916 KB
in04.txt AC 28 ms
15,984 KB
in05.txt AC 28 ms
16,000 KB
in06.txt WA -
in07.txt AC 25 ms
13,960 KB
in08.txt AC 29 ms
18,048 KB
in09.txt WA -
in10.txt AC 26 ms
16,008 KB
in11.txt AC 26 ms
16,000 KB
r01.txt WA -
r02.txt WA -
r03.txt WA -
r04.txt WA -
r05.txt WA -
r06.txt TLE -
r07.txt -- -
r08.txt -- -
r09.txt -- -
r10.txt -- -
system_test1.txt -- -
system_test2.txt -- -
system_test3.txt -- -
system_test4.txt -- -
system_test5.txt -- -
system_test6.txt -- -
system_test7.txt -- -
system_test8.txt -- -
system_test9.txt -- -
system_test10.txt -- -
system_test11.txt -- -
system_test12.txt -- -
system_test13.txt -- -
system_test14.txt -- -
system_test15.txt -- -
z01.txt -- -
z02.txt -- -
z03.txt -- -
z04.txt -- -
z05.txt -- -
テストケース一括ダウンロード

ソースコード

diff #
using System;
using System.IO;
using System.Collections.Generic;
using static System.Console;
using static System.Math;
class Start{
  static void Solve(){
    var n=int.Parse(ReadLine());
    var a=new List<int>();
    var k=ReadLine().Split();
    for(int i=n-1;i>=0;i--)a.Add(int.Parse(k[i]));
    var ans=0;
    while(true){
      var max=-1;
      var i=1;
      var oldi=0;
      var j=0;
      while(i!=a.Count){
        if(a[i]>a[oldi]&&a[oldi]>max){
          j=oldi;
          max=a[oldi];
        }
        if(a[i]!=-1)oldi=i;
        i++;
      }
      if(max==-1)break;
      ans++;
      a[j]=-1;
      a.Add(max);
    }
    WriteLine(ans);
  }
  static void Main(){
    var sw=new StreamWriter(OpenStandardOutput()){AutoFlush=false};
    SetOut(sw);
    Solve();
    Out.Flush();
  }
  const long MOD=1000000007L;
  static void Swap<T>(ref T a,ref T b){T c=a;a=b;b=c;}
}
class Pair<T, U> : IComparable<Pair<T, U>> where T : IComparable<T> where U : IComparable<U>
{
    public T F;
    public U S;
    public Pair(T v1, U v2) {
        this.F = v1;
        this.S = v2;
    }
    public int CompareTo(Pair<T, U> a) => F.CompareTo(a.F) != 0 ? F.CompareTo(a.F) : S.CompareTo(a.S);
    public override string ToString() => F + " " + S;
}
/*class Pair<T1, T2> : IComparable<Pair<T1, T2>> where T1 : IComparable<T1> where T2 : IComparable<T2>
{
  public T1 F;public T2 S;
  public Pair(T1 f,T2 s){F=f;S=s;}
  public long CompareTo(Pair<T1,T2> p)=>F.CompareTo(p.F)!=0?F.CompareTo(p.F):S.CompareTo(p.S);
  public override string ToString()=>F+" "+S;
}*/
0