Submission #4321421
Source Code Expand
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Practice
{
class Program
{
static void Main(string[] args)
{
Solve();
}
private const int MOD = 1000000007;
static void Solve()
{
var n = ReadAndParseInt();
var ans = n - 1;
Console.WriteLine(ans);
}
#region よく使う便利関数a
private static bool isPrime(long x)
{
if(x == 2) { return true; }
if(x < 2 || x % 2 == 0) { return false; }
long i = 3;
while(i * i <= x)
{
if(x % i == 0) { return false; }
i = i + 2;
}
return true;
}
private static long lcm(long x, long y)
{
return x / gcd(x, y) * y;
}
private static long gcd(long x, long y)
{
return y > 0 ? gcd(y, x % y) : x;
}
private static long pow(long x, long n)
{
if(n == 0) { return 1; }
long res = pow(x * x % MOD, n / 2);
if(n % 2 == 1)
{
res = res * x % MOD;
}
return res;
}
private static int ReadAndParseInt()
{
return int.Parse(Console.ReadLine());
}
private static int[] ReadAndParseIntArr()
{
return Array.ConvertAll(Console.ReadLine().Split(' '), int.Parse);
}
private static long ReadAndParseLong()
{
return long.Parse(Console.ReadLine());
}
private static long[] ReadAndParseLongArr()
{
return Array.ConvertAll(Console.ReadLine().Split(' '), long.Parse);
}
/// <summary>
/// 指定した値以上の先頭のインデクスを返す
/// </summary>
/// <typeparam name="T">比較する値の型</typeparam>
/// <param name="arr">対象の配列(※ソート済みであること)</param>
/// <param name="start">開始インデクス [inclusive]</param>
/// <param name="end">終了インデクス [exclusive]</param>
/// <param name="value">検索する値</param>
/// <param name="comparer">比較関数(インターフェイス)</param>
/// <returns>指定した値以上の先頭のインデクス</returns>
public static int LowerBound<T>(IReadOnlyList<T> arr, int start, int end, T value, IComparer<T> comparer)
{
int low = start;
int high = end;
int mid;
while(low < high)
{
mid = ((high - low) >> 1) + low;
if(comparer.Compare(arr[mid], value) < 0)
low = mid + 1;
else
high = mid;
}
return low;
}
//引数省略のオーバーロード
public static int LowerBound<T>(IReadOnlyList<T> arr, T value) where T : IComparable
{
return LowerBound(arr, 0, arr.Count, value, Comparer<T>.Default);
}
/// <summary>
/// 指定した値より大きい先頭のインデクスを返す
/// </summary>
/// <typeparam name="T">比較する値の型</typeparam>
/// <param name="arr">対象の配列(※ソート済みであること)</param>
/// <param name="start">開始インデクス [inclusive]</param>
/// <param name="end">終了インデクス [exclusive]</param>
/// <param name="value">検索する値</param>
/// <param name="comparer">比較関数(インターフェイス)</param>
/// <returns>指定した値より大きい先頭のインデクス</returns>
public static int UpperBound<T>(IReadOnlyList<T> arr, int start, int end, T value, IComparer<T> comparer)
{
int low = start;
int high = end;
int mid;
while(low < high)
{
mid = ((high - low) >> 1) + low;
if(comparer.Compare(arr[mid], value) <= 0)
low = mid + 1;
else
high = mid;
}
return low;
}
//引数省略のオーバーロード
public static int UpperBound<T>(IReadOnlyList<T> arr, T value)
{
return UpperBound(arr, 0, arr.Count, value, Comparer<T>.Default);
}
#endregion
}
}
Submission Info
Submission Time |
|
Task |
A - 植木算 |
User |
masakam1 |
Language |
C# (Mono 4.6.2.0) |
Score |
100 |
Code Size |
3771 Byte |
Status |
AC |
Exec Time |
21 ms |
Memory |
11092 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
100 / 100 |
Status |
|
|
Set Name |
Test Cases |
Sample |
subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt |
All |
subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt |
Case Name |
Status |
Exec Time |
Memory |
subtask0_sample01.txt |
AC |
19 ms |
9044 KB |
subtask0_sample02.txt |
AC |
19 ms |
11092 KB |
subtask0_sample03.txt |
AC |
19 ms |
9044 KB |
subtask1_01.txt |
AC |
20 ms |
11092 KB |
subtask1_02.txt |
AC |
20 ms |
11092 KB |
subtask1_03.txt |
AC |
20 ms |
9172 KB |
subtask1_04.txt |
AC |
20 ms |
11092 KB |
subtask1_05.txt |
AC |
19 ms |
9044 KB |
subtask1_06.txt |
AC |
20 ms |
9044 KB |
subtask1_07.txt |
AC |
20 ms |
11092 KB |
subtask1_08.txt |
AC |
19 ms |
11092 KB |
subtask1_09.txt |
AC |
20 ms |
11092 KB |
subtask1_10.txt |
AC |
19 ms |
11092 KB |
subtask1_11.txt |
AC |
20 ms |
11092 KB |
subtask1_12.txt |
AC |
19 ms |
9044 KB |
subtask1_13.txt |
AC |
21 ms |
11092 KB |
subtask1_14.txt |
AC |
19 ms |
9044 KB |