Submission #1914258
Source Code Expand
/*
cat <<EOF >mistaken-paste
*/
#pragma GCC diagnostic ignored "-Wincompatible-pointer-types"
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <math.h>
#define BIG 2000000007
#define MOD 1000000007
typedef uint64_t ull;
typedef int64_t sll;
#define N_MAX 10000
#define M_MAX 300
typedef struct {
int32_t a;
int32_t b;
} hw;
typedef struct {
sll a;
sll b;
} hwll;
typedef struct {
hwll a;
hwll b;
} linell;
typedef struct {
ull s;
ull t;
int32_t c;
} struct_a;
const hw vector8[8] = {
{-1, -1},
{-1, 0},
{-1, +1},
{ 0, -1},
{ 0, +1},
{+1, -1},
{+1, 0},
{+1, +1}
};
ull n, m;
ull h, w;
ull k;
ull vua, vub, vuc, vud, vue, vuf;
sll vsa, vsb, vsc, vsd, vse, vsf;
long double vra, vrb, vrc;
size_t slen;
size_t tlen;
ull a[N_MAX];
// sll a[N_MAX];
// ull a[N_MAX][N_MAX];
// ull wall[M_MAX][N_MAX];
// ull b[N_MAX];
// sll b[N_MAX];
// ull b[N_MAX][N_MAX];
// sll b[N_MAX][N_MAX];
// ull c[N_MAX];
char s[N_MAX + 1];
// char t[N_MAX + 1];
// char s[N_MAX][M_MAX + 1];
// ull dp[N_MAX];
// sll dp[N_MAX];
bool dp[N_MAX];
// ull dq[N_MAX];
// ull dp[N_MAX + 1][M_MAX + 1];
// ull dq[M_MAX][N_MAX];
// bool dq[N_MAX];
// hwll dp[N_MAX + 1][N_MAX + 1];
// struct_a dp[N_MAX + 1][N_MAX + 1];
// hw arr[N_MAX];
// hwll arr[N_MAX * 2];
// hw brr[M_MAX];
// linell arr[N_MAX];
// ull bitdp[1 << N_MAX];
// ull digitdp[10001][ 2][ 100];
// pos less carry
// struct_a arr[N_MAX * 2];
// struct_b brr[N_MAX * 2];
void swap_adj (ull *a, ull *b) {
if (*a != *b) {
ull tmp = *b;
*b = *a;
*a = tmp;
}
return;
}
ull divide (ull a, ull b) {
ull x = MOD - 2;
ull ans = 1;
while (x) {
if (x & 1) ans = (ans * b) % MOD;
b = (b * b) % MOD;
x /= 2;
}
return (a * ans) % MOD;
}
int32_t digits (ull x) {
int32_t i = 1;
while (x >= 10) {
x /= 10;
i++;
}
return i;
}
ull umin (ull x, ull y) {
return (x < y) ? x : y;
}
ull umax (ull x, ull y) {
return (x > y) ? x : y;
}
sll smin (sll x, sll y) {
return (x < y) ? x : y;
}
sll smax (sll x, sll y) {
return (x > y) ? x : y;
}
ull gcd (ull x, ull y) {
if (x < y) {
return gcd(y, x);
} else if (y == 0) {
return x;
} else {
return gcd(y, x % y);
}
}
ull bitpow (ull a, ull x, ull modulo) {
ull result = 1;
while (x) {
if (x & 1) {
result *= a;
result %= modulo;
}
x /= 2;
a = (a * a) % modulo;
}
return result;
}
// int32_t nextroute (int32_t arr[]) {
// int32_t i = n - 1;
// int32_t j, x;
// while (arr[i - 1] > arr[i]) i--;
// x = n;
// for (j = i; j < n; j++) {
// if (arr[j] < arr[i - 1]) continue;
// if (x == n || arr[x] > arr[j]) x = j;
// }
// arr[i - 1] ^= arr[x];
// arr[x] ^= arr[i - 1];
// arr[i - 1] ^= arr[x];
// qsort(&arr[i], n - i, sizeof(int32_t), comp);
// return 0;
// }
int32_t targetdig (ull x, int32_t index /* 1-indexed */) {
// static...?
int32_t posmax = digits(x);
if (posmax < index) return -1;
while (posmax > index) {
posmax--;
x /= 10;
}
return x % 10;
}
int32_t charcomp (const char left, const char right) {
if (left < right) {
return -1;
} else if (left > right) {
return +1;
} else {
return 0;
}
}
int32_t pcharcomp (const char *left, const char *right) {
return charcomp(*left, *right);
}
int32_t pcharrevcomp (const char *left, const char *right) {
return charcomp(*right, *left);
}
int32_t intcomp (const int32_t left, const int32_t right) {
if (left < right) {
return -1;
} else if (left > right) {
return +1;
} else {
return 0;
}
}
int32_t pintcomp (const int32_t *left, const int32_t *right) {
return intcomp(*left, *right);
}
int32_t ullcomp (const ull left, const ull right) {
if (left < right) {
return -1;
} else if (left > right) {
return +1;
} else {
return 0;
}
}
int32_t pullcomp (const ull *left, const ull *right) {
return ullcomp(*left, *right);
}
int32_t sllcomp (const sll left, const sll right) {
if (left < right) {
return -1;
} else if (left > right) {
return +1;
} else {
return 0;
}
}
int32_t psllcomp (const sll *left, const sll *right) {
return sllcomp(*left, *right);
}
int32_t phwAcomp (const hw *left, const hw *right) {
return intcomp(left->a, right->a);
}
int32_t phwBcomp (const hw *left, const hw *right) {
return intcomp(left->b, right->b);
}
int32_t phwABcomp (const hw *left, const hw *right) {
int32_t x = phwAcomp(left, right);
if (x) return x;
return phwBcomp(left, right);
}
int32_t phwllAcomp (const hwll *left, const hwll *right) {
return sllcomp(left->a, right->a);
}
int32_t phwllBcomp (const hwll *left, const hwll *right) {
return sllcomp(left->b, right->b);
}
int32_t phwllABcomp (const hwll *left, const hwll *right) {
int32_t x = phwllAcomp(left, right);
if (x) return x;
return phwllBcomp(left, right);
}
int32_t pstrAcomp (const struct_a *left, const struct_a *right) {
int32_t x;
if (x = ullcomp(left->t, right->t)) return x;
if (x = ullcomp(left->s, right->s)) return x;
if (x = intcomp(left->c, right->c)) return x;
return 0;
}
int32_t bitlet (char c) {
return (1 << (c - 'a'));
}
ull ullabs (ull a, ull b) {
if (a >= b) {
return a - b;
} else {
return b - a;
}
}
sll sllabs (sll a, sll b) {
if (a >= b) {
return a - b;
} else {
return b - a;
}
}
sll nibutanlobo (bool (*func)(sll arg), sll ok, sll ng) {
while (sllabs(ok, ng) > 1) {
sll med = (ok + ng) / 2;
if (func(med)) {
ok = med;
} else {
ng = med;
}
// printf("debug: [%lld %lld)\n", ok, ng);
}
if (!func(ok)) return ok * 2 - ng;
return ok;
}
void printquotient (ull left, ull right) {
const int32_t digits = 20;
printf("%llu.", left / right);
left %= right;
for (int32_t i = 0; i < digits; i++) {
left *= 10;
printf("%1d", left / right);
left %= right;
}
puts("");
return;
}
bool isonedge (hwll x) {
return (x.a == 0) || (x.a == h) || (x.b == 0) || (x.b == w);
}
ull converttoint (hwll x) {
if (x.a == 0) {
return w - x.b; // w ~ 0
} else if (x.b == 0) {
return w + x.a; // w ~ h+w
} else if (x.a == h) {
return (h + w) + x.b; // h+w ~ h+2w
} else {
return (h + w) * 2 - x.a; // (2h+2w) ~ (h+2w)
}
}
ull solve () {
sll i, j, ki, l;
ull result = 0;
// sll result = 0;
ull sum = 0;
// sll sum = 0;
ull item;
// qsortの際には"p"ullcompを使う
// if (k % 2 == 0) {
// for (i = 0; i < n; i++) {
// printf("%llu%c", ((i == 0) ? (k / 2 - 1) : (k / 2)), ((i == n - 1) ? '\n' : ' '));
// }
// } else {
// //
// }
// ull p2, p3, p5;
// p2 = p3 = p5 = 0;
// while (n % 2) {
// n /= 2;
// p2++;
// }
// while (n % 3) {
// n /= 3;
// p3++;
// }
// while (n % 5) {
// n /= 5;
// p5++;
// }
// if (n > 1) goto fail;
result = umin((10 + m - n) % 10, (10 + n - m) % 10);
printf("%llu\n", result);
// puts(s);
return 0;
success:
// puts("YES");
puts("Yes");
// printf("%llu\n", result);
return 0;
fail:
// put("NO");
puts("No");
// puts("0");
// puts("-1");
return 1;
}
int32_t main (void) {
int32_t i, j;
int32_t x, y;
// scanf("%llu%llu", &h, &w);
scanf("%llu%llu", &n, &m);
// scanf("%llu%llu", &k, &n);
// scanf("%llu%llu", &vua, &vub, &vuc, &vud);
// scanf("%s", s);
// scanf("%s", t);
// scanf("%lld%lld", &vsa, &vsb);
// for (i = 0; i < n; i++) {
// scanf("%llu", &a[i]);
// }
// for (i = 0; i < h; i++) {
// scanf("%llu", &a[i]);
// }
// for (i = 0; i < w; i++) {
// scanf("%llu", &b[i]);
// }
// for (i = 0; i < n; i++) {
// scanf("%llu%llu", &b[i], &a[i]);
// }
// for (i = 0; i < h; i++) {
// for (j = 0; j < w; j++) {
// scanf("%llu", &a[i][j]);
// }
// }
solve();
// for (i = 0; i < n; i++) {
// // scanf("%llu%llu", &vua, &vub);
// scanf("%s", s);
// solve();
// }
// while (scanf("%llu%llu", &n, &k), n + k) {
// for (i = 0; i < n; i++) {
// scanf("%llu", &a[i]);
// }
// solve();
// }
return 0;
}
Submission Info
Submission Time
2017-12-27 16:23:53+0900
Task
B - 錠
User
sheyasutaka
Language
C (GCC 5.4.1)
Score
100
Code Size
8318 Byte
Status
AC
Exec Time
1 ms
Memory
128 KB
Compile Error
./Main.c: In function ‘printquotient’:
./Main.c:335:9: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 2 has type ‘ull {aka long unsigned int}’ [-Wformat=]
printf("%llu.", left / right);
^
./Main.c:339:10: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘ull {aka long unsigned int}’ [-Wformat=]
printf("%1d", left / right);
^
./Main.c: In function ‘solve’:
./Main.c:399:9: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 2 has type ‘ull {aka long unsigned int}’ [-Wformat=]
printf("%llu\n", result);
^
./Main.c: In function ‘main’:
./Main.c:423:8: warning: format ‘%llu’ expects argument of type ‘long long unsigned int *’, but argument 2 has type ‘ull * {aka long unsigned int *}’ [-Wformat=]
scanf("%llu%llu", &n, &m);
^
./Main.c:423:8: warning: format ‘%llu’ expects argument of type ‘long long unsigned int *’, but argument 3 has type ‘ull * {aka long unsigned in...
Judge Result
Set Name
all
Score / Max Score
100 / 100
Status
Set Name
Test Cases
all
0_1.txt, 0_2.txt, 0_3.txt, 0_4.txt, 0_5.txt, 0_6.txt, 0_7.txt, 0_8.txt, 0_9.txt, 1_0.txt, 1_2.txt, 1_3.txt, 1_4.txt, 1_5.txt, 1_6.txt, 1_7.txt, 1_8.txt, 1_9.txt, 2_0.txt, 2_1.txt, 2_3.txt, 2_4.txt, 2_5.txt, 2_6.txt, 2_7.txt, 2_8.txt, 2_9.txt, 3_0.txt, 3_1.txt, 3_2.txt, 3_4.txt, 3_5.txt, 3_6.txt, 3_7.txt, 3_8.txt, 3_9.txt, 4_0.txt, 4_1.txt, 4_2.txt, 4_3.txt, 4_5.txt, 4_6.txt, 4_7.txt, 4_8.txt, 4_9.txt, 5_0.txt, 5_1.txt, 5_2.txt, 5_3.txt, 5_4.txt, 5_6.txt, 5_7.txt, 5_8.txt, 5_9.txt, 6_0.txt, 6_1.txt, 6_2.txt, 6_3.txt, 6_4.txt, 6_5.txt, 6_7.txt, 6_8.txt, 6_9.txt, 7_0.txt, 7_1.txt, 7_2.txt, 7_3.txt, 7_4.txt, 7_5.txt, 7_6.txt, 7_8.txt, 7_9.txt, 8_0.txt, 8_1.txt, 8_2.txt, 8_3.txt, 8_4.txt, 8_5.txt, 8_6.txt, 8_7.txt, 8_9.txt, 9_0.txt, 9_1.txt, 9_2.txt, 9_3.txt, 9_4.txt, 9_5.txt, 9_6.txt, 9_7.txt, 9_8.txt
Case Name
Status
Exec Time
Memory
0_1.txt
AC
1 ms
128 KB
0_2.txt
AC
1 ms
128 KB
0_3.txt
AC
1 ms
128 KB
0_4.txt
AC
1 ms
128 KB
0_5.txt
AC
1 ms
128 KB
0_6.txt
AC
1 ms
128 KB
0_7.txt
AC
1 ms
128 KB
0_8.txt
AC
1 ms
128 KB
0_9.txt
AC
1 ms
128 KB
1_0.txt
AC
1 ms
128 KB
1_2.txt
AC
1 ms
128 KB
1_3.txt
AC
1 ms
128 KB
1_4.txt
AC
1 ms
128 KB
1_5.txt
AC
1 ms
128 KB
1_6.txt
AC
1 ms
128 KB
1_7.txt
AC
1 ms
128 KB
1_8.txt
AC
1 ms
128 KB
1_9.txt
AC
1 ms
128 KB
2_0.txt
AC
1 ms
128 KB
2_1.txt
AC
1 ms
128 KB
2_3.txt
AC
1 ms
128 KB
2_4.txt
AC
1 ms
128 KB
2_5.txt
AC
1 ms
128 KB
2_6.txt
AC
1 ms
128 KB
2_7.txt
AC
1 ms
128 KB
2_8.txt
AC
1 ms
128 KB
2_9.txt
AC
1 ms
128 KB
3_0.txt
AC
1 ms
128 KB
3_1.txt
AC
1 ms
128 KB
3_2.txt
AC
1 ms
128 KB
3_4.txt
AC
1 ms
128 KB
3_5.txt
AC
1 ms
128 KB
3_6.txt
AC
1 ms
128 KB
3_7.txt
AC
1 ms
128 KB
3_8.txt
AC
1 ms
128 KB
3_9.txt
AC
1 ms
128 KB
4_0.txt
AC
1 ms
128 KB
4_1.txt
AC
1 ms
128 KB
4_2.txt
AC
1 ms
128 KB
4_3.txt
AC
1 ms
128 KB
4_5.txt
AC
1 ms
128 KB
4_6.txt
AC
1 ms
128 KB
4_7.txt
AC
1 ms
128 KB
4_8.txt
AC
1 ms
128 KB
4_9.txt
AC
1 ms
128 KB
5_0.txt
AC
1 ms
128 KB
5_1.txt
AC
1 ms
128 KB
5_2.txt
AC
1 ms
128 KB
5_3.txt
AC
1 ms
128 KB
5_4.txt
AC
1 ms
128 KB
5_6.txt
AC
1 ms
128 KB
5_7.txt
AC
1 ms
128 KB
5_8.txt
AC
1 ms
128 KB
5_9.txt
AC
1 ms
128 KB
6_0.txt
AC
1 ms
128 KB
6_1.txt
AC
1 ms
128 KB
6_2.txt
AC
1 ms
128 KB
6_3.txt
AC
1 ms
128 KB
6_4.txt
AC
1 ms
128 KB
6_5.txt
AC
1 ms
128 KB
6_7.txt
AC
1 ms
128 KB
6_8.txt
AC
1 ms
128 KB
6_9.txt
AC
1 ms
128 KB
7_0.txt
AC
1 ms
128 KB
7_1.txt
AC
1 ms
128 KB
7_2.txt
AC
1 ms
128 KB
7_3.txt
AC
1 ms
128 KB
7_4.txt
AC
1 ms
128 KB
7_5.txt
AC
1 ms
128 KB
7_6.txt
AC
1 ms
128 KB
7_8.txt
AC
1 ms
128 KB
7_9.txt
AC
1 ms
128 KB
8_0.txt
AC
1 ms
128 KB
8_1.txt
AC
1 ms
128 KB
8_2.txt
AC
1 ms
128 KB
8_3.txt
AC
1 ms
128 KB
8_4.txt
AC
1 ms
128 KB
8_5.txt
AC
1 ms
128 KB
8_6.txt
AC
1 ms
128 KB
8_7.txt
AC
1 ms
128 KB
8_9.txt
AC
1 ms
128 KB
9_0.txt
AC
1 ms
128 KB
9_1.txt
AC
1 ms
128 KB
9_2.txt
AC
1 ms
128 KB
9_3.txt
AC
1 ms
128 KB
9_4.txt
AC
1 ms
128 KB
9_5.txt
AC
1 ms
128 KB
9_6.txt
AC
1 ms
128 KB
9_7.txt
AC
1 ms
128 KB
9_8.txt
AC
1 ms
128 KB