Submission #11249877
Source Code Expand
using System;
using System.Linq;
using System.Collections.Generic;
namespace Contest
{
class Program
{
static void Main(string[] args)
{
AGC015.A();
}
class AGC015
{
public static void A()
{
var N = Read.Long();
var A = Read.Long();
var B = Read.Long();
Console.WriteLine((A > B || (N == 1 && A != B)) ? 0 : (N - 2) * (B - A) + 1);
}
public static void B()
{
var S = Read.Str();
long N = S.Length;
long count = N * (N - 1);
for(int i = 0; i < N; ++i)
{
count += S[i] == 'U' ? i : N - i - 1;
}
Console.WriteLine(count);
}
public static void C()
{
var N = Read.Int();
var M = Read.Int();
var Q = Read.Int();
bool[,] S = new bool[N, M];
for(int i = 0; i < N; ++i)
{
var str = Read.Str();
for(int j = 0; j < M; ++j)
{
S[i, j] = str[j] == '1';
}
}
int[,] Ssum = new int[N + 1, M + 1];
int[,] T1Sum = new int[N + 1, M];
int[,] T2Sum = new int[N, M + 1];
for(int i = 0; i < N; ++i)
{
for(int j = 0; j < M; ++j)
{
Ssum[i + 1, j + 1] = Ssum[i + 1, j] + Ssum[i, j + 1] - Ssum[i, j] + (S[i, j] ? 1 : 0);
}
}
for (int i = 0; i < N; ++i)
{
for (int j = 0; j < M -1; ++j)
{
T1Sum[i + 1, j + 1] = T1Sum[i + 1, j] + T1Sum[i, j + 1] - T1Sum[i, j] + (S[i, j] && S[i, j + 1] ? 1 : 0);
}
}
for (int i = 0; i < N -1; ++i)
{
for (int j = 0; j < M; ++j)
{
T2Sum[i + 1, j + 1] = T2Sum[i + 1, j] + T2Sum[i, j + 1] - T2Sum[i, j] + (S[i, j] && S[i + 1, j] ? 1 : 0);
}
}
for(int q = 0; q < Q; ++q)
{
var xy = Read.IntN();
var x1 = xy[0];
var y1 = xy[1];
var x2 = xy[2];
var y2 = xy[3];
var countS = Ssum[x2, y2] - Ssum[x1 - 1, y2] - Ssum[x2, y1 - 1] + Ssum[x1 - 1, y1 - 1];
var countT1 = T1Sum[x2, y2 - 1] - T1Sum[x1 - 1, y2 - 1] - T1Sum[x2, y1 - 1] + T1Sum[x1 - 1, y1 - 1];
var countT2 = T2Sum[x2 - 1, y2] - T2Sum[x1 - 1, y2] - T2Sum[x2 - 1, y1 - 1] + T2Sum[x1 - 1, y1 - 1];
Console.WriteLine(countS - countT1 - countT2);
}
}
public static void D()
{
}
public static void E()
{
}
public static void F()
{
}
}
class Graph
{
public static int[] CalcDistance_OnTree(Dictionary<int, HashSet<int>> adj, int N, int start)
{
var dist = Enumerable.Range(0, N + 1).Select(i => -1).ToArray();
dist[start] = 0;
Queue<int> queue = new Queue<int>();
queue.Enqueue(start);
while (queue.Count > 0)
{
var v = queue.Dequeue();
foreach (var w in adj[v])
{
if (dist[w] < 0)
{
dist[w] = dist[v] + 1;
queue.Enqueue(w);
}
}
}
return dist;
}
}
static class Read
{
static Queue<string> queue = new Queue<string>();
static void Enqueue() { var ss = Console.ReadLine().Split(' '); foreach (var s in ss) { queue.Enqueue(s); } }
public static int Int() { if (queue.Count == 0) { Enqueue(); } return Convert.ToInt32(queue.Dequeue()); }
public static long Long() { if (queue.Count == 0) { Enqueue(); } return Convert.ToInt64(queue.Dequeue()); }
public static string Str() { if (queue.Count == 0) { Enqueue(); } return queue.Dequeue(); }
public static int[] IntN() { return Console.ReadLine().Split(' ').Select(s => Convert.ToInt32(s)).ToArray(); }
public static long[] LongN() { return Console.ReadLine().Split(' ').Select(s => Convert.ToInt64(s)).ToArray(); }
public static string[] StrN() { return Console.ReadLine().Split(' '); }
public static Tuple<int, int>[] TupleInt(int n) { List<Tuple<int, int>> list = new List<Tuple<int, int>>(); for (int i = 0; i < n; ++i) { var ab = Read.IntN(); list.Add(new Tuple<int, int>(ab[0], ab[1])); } return list.ToArray(); }
public static Tuple<long, long>[] TupleLong(int n) { List<Tuple<long, long>> list = new List<Tuple<long, long>>(); for (int i = 0; i < n; ++i) { var ab = Read.LongN(); list.Add(new Tuple<long, long>(ab[0], ab[1])); } return list.ToArray(); }
public static Tuple<string, string>[] TupleStr(int n) { List<Tuple<string, string>> list = new List<Tuple<string, string>>(); for (int i = 0; i < n; ++i) { var ab = Read.StrN(); list.Add(new Tuple<string, string>(ab[0], ab[1])); } return list.ToArray(); }
public static Tuple<double, double>[] TupleDouble(int n) { List<Tuple<double, double>> list = new List<Tuple<double, double>>(); for (int i = 0; i < n; ++i) { var ab = Read.LongN(); list.Add(new Tuple<double, double>(ab[0], ab[1])); } return list.ToArray(); }
public static long[,] LongMatrix(int r, int c)
{
var mat = new long[r, c];
for (int i = 0; i < r; ++i)
{
var x = Read.LongN();
for (int j = 0; j < c; ++j)
{
mat[i, j] = x[j];
}
}
return mat;
}
public static Dictionary<int, HashSet<int>> AdjacencyList(int N, int M)
{
Dictionary<int, HashSet<int>> dict = new Dictionary<int, HashSet<int>>();
for (int i = 0; i <= N; ++i)
{
dict.Add(i, new HashSet<int>());
}
for (int i = 0; i < M; ++i)
{
var ab = Read.IntN();
dict[ab[0]].Add(ab[1]);
dict[ab[1]].Add(ab[0]);
}
return dict;
}
public static Dictionary<int, Dictionary<int, long>> AdjacencyListWithWeight(int N, int M)
{
Dictionary<int, Dictionary<int, long>> dict = new Dictionary<int, Dictionary<int, long>>();
for (int i = 0; i <= N; ++i)
{
dict.Add(i, new Dictionary<int, long>());
}
for (int i = 0; i < M; ++i)
{
var ab = Read.IntN();
dict[ab[0]].Add(ab[1], ab[2]);
dict[ab[1]].Add(ab[0], ab[2]);
}
return dict;
}
}
}
}
Submission Info
Submission Time |
|
Task |
A - A+...+B Problem |
User |
UsagiSony |
Language |
C# (Mono 4.6.2.0) |
Score |
200 |
Code Size |
7820 Byte |
Status |
AC |
Exec Time |
23 ms |
Memory |
11348 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
200 / 200 |
Status |
|
|
Set Name |
Test Cases |
Sample |
s1.txt, s2.txt, s3.txt, s4.txt |
All |
01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, s1.txt, s2.txt, s3.txt, s4.txt |
Case Name |
Status |
Exec Time |
Memory |
01.txt |
AC |
23 ms |
11220 KB |
02.txt |
AC |
22 ms |
11220 KB |
03.txt |
AC |
22 ms |
11220 KB |
04.txt |
AC |
22 ms |
11220 KB |
05.txt |
AC |
22 ms |
9300 KB |
06.txt |
AC |
23 ms |
11220 KB |
07.txt |
AC |
21 ms |
11220 KB |
08.txt |
AC |
21 ms |
9300 KB |
s1.txt |
AC |
21 ms |
11220 KB |
s2.txt |
AC |
21 ms |
11348 KB |
s3.txt |
AC |
22 ms |
11220 KB |
s4.txt |
AC |
21 ms |
11220 KB |