Submission #3221498


Source Code Expand

#include <bits/stdc++.h>
#define N 100020
#define ll long long
using namespace std;
inline int read(){
  int x=0,f=1;char ch=getchar();
  while(ch>'9'||ch<'0')ch=='-'&&(f=0)||(ch=getchar());
  while(ch<='9'&&ch>='0')x=(x<<3)+(x<<1)+ch-'0',ch=getchar();
  return f?x:-x;
}
int a[N];
int main(int argc, char const *argv[]) {
  int n = read();
  for (int i = 1; i <= n; ++ i) {
    a[i] = read();
  }

  sort(a + 1, a + n + 1);
  reverse(a + 1, a + n + 1);

  for (int i = 1; i <= n; ++ i) {
    if (i >= a[i + 1]) {
      bool res = 1;
      for (int j = i+1; j <= n && a[j] == i; ++ j) {
        res ^= 1;
      }
      res &= (a[i]-i+1)&1;
      return puts(res ? "Second" : "First"), 0;
    }
  }
  return 0;
}
/*
排序,将每堆糖果看成一个 ai*1 的矩阵。

x
x x
x x x
-----
3 2 1

每次操作相当于删除最下面一行或者删除最左边一列。

可以发现 (x, y) = (x - 1, y - 1)

于是开局直接往右上角走,有三种情况。
(0-first,1-second)

1)

xxx 1
xxx 0
xx/ 1
x/x 0
/xx 1
  i

ans = !odd(a[i]-i)

2)

010101

xx/xxx
x/xxxx
/xxxxx
  i  j

ans = !odd(j-i)

3)

xxx
xxx
xx/xxx
x/xxxx
/xxxxx
  i  j

ans = !odd(a[i]-i) && !odd(a[i]-i)

*/

Submission Info

Submission Time
Task E - Candy Piles
User swwind
Language C++14 (GCC 5.4.1)
Score 1400
Code Size 1260 Byte
Status AC
Exec Time 14 ms
Memory 640 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 1400 / 1400
Status
AC × 3
AC × 55
Set Name Test Cases
Sample 0_00.txt, 0_01.txt, 0_02.txt
All 0_00.txt, 0_01.txt, 0_02.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt, 1_24.txt, 1_25.txt, 1_26.txt, 1_27.txt, 1_28.txt, 1_29.txt, 1_30.txt, 1_31.txt, 1_32.txt, 1_33.txt, 1_34.txt, 1_35.txt, 1_36.txt, 1_37.txt, 1_38.txt, 1_39.txt, 1_40.txt, 1_41.txt, 1_42.txt, 1_43.txt, 1_44.txt, 1_45.txt, 1_46.txt, 1_47.txt, 1_48.txt, 1_49.txt, 1_50.txt, 1_51.txt
Case Name Status Exec Time Memory
0_00.txt AC 1 ms 256 KB
0_01.txt AC 1 ms 256 KB
0_02.txt AC 1 ms 256 KB
1_00.txt AC 1 ms 256 KB
1_01.txt AC 1 ms 256 KB
1_02.txt AC 1 ms 256 KB
1_03.txt AC 4 ms 640 KB
1_04.txt AC 4 ms 640 KB
1_05.txt AC 4 ms 640 KB
1_06.txt AC 4 ms 640 KB
1_07.txt AC 4 ms 640 KB
1_08.txt AC 4 ms 640 KB
1_09.txt AC 8 ms 640 KB
1_10.txt AC 10 ms 640 KB
1_11.txt AC 11 ms 640 KB
1_12.txt AC 1 ms 256 KB
1_13.txt AC 11 ms 512 KB
1_14.txt AC 6 ms 384 KB
1_15.txt AC 11 ms 512 KB
1_16.txt AC 1 ms 256 KB
1_17.txt AC 13 ms 640 KB
1_18.txt AC 12 ms 640 KB
1_19.txt AC 14 ms 640 KB
1_20.txt AC 13 ms 640 KB
1_21.txt AC 11 ms 512 KB
1_22.txt AC 13 ms 640 KB
1_23.txt AC 4 ms 384 KB
1_24.txt AC 2 ms 256 KB
1_25.txt AC 4 ms 384 KB
1_26.txt AC 1 ms 256 KB
1_27.txt AC 10 ms 512 KB
1_28.txt AC 6 ms 384 KB
1_29.txt AC 3 ms 256 KB
1_30.txt AC 10 ms 512 KB
1_31.txt AC 13 ms 640 KB
1_32.txt AC 6 ms 384 KB
1_33.txt AC 3 ms 256 KB
1_34.txt AC 11 ms 512 KB
1_35.txt AC 4 ms 384 KB
1_36.txt AC 11 ms 512 KB
1_37.txt AC 10 ms 512 KB
1_38.txt AC 13 ms 640 KB
1_39.txt AC 12 ms 512 KB
1_40.txt AC 10 ms 512 KB
1_41.txt AC 2 ms 256 KB
1_42.txt AC 5 ms 384 KB
1_43.txt AC 8 ms 512 KB
1_44.txt AC 1 ms 256 KB
1_45.txt AC 2 ms 256 KB
1_46.txt AC 9 ms 512 KB
1_47.txt AC 12 ms 640 KB
1_48.txt AC 6 ms 384 KB
1_49.txt AC 8 ms 512 KB
1_50.txt AC 5 ms 384 KB
1_51.txt AC 12 ms 640 KB