Submission #2713232
Source Code Expand
/*
cat <<EOF >mistaken-paste
*/
#pragma GCC diagnostic ignored "-Wincompatible-pointer-types"
#define _USE_MATH_DEFINES
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <math.h>
#include <time.h>
#define BIG 2000000007
#define VERYBIG 200000000000007LL
#define MOD 1000000007
#define FOD 998244353
typedef uint64_t ull;
typedef int64_t sll;
#define N_MAX 1000000
#define M_MAX 200000
#ifdef __cplusplus
#include <queue>
#include <stack>
// #include <tuple>
#include <set>
#include <map>
// using namespace std; // HELL
using std::queue;
using std::priority_queue;
using std::stack;
// using std::tuple;
using std::set;
using std::map;
using std::vector;
using std::greater;
using std::pair;
#endif
typedef struct {
int32_t a;
int32_t b;
} hw;
typedef struct {
sll a;
sll b;
} hwll;
typedef struct {
sll a;
sll b;
sll c;
} hwllc;
typedef struct {
hwll a;
hwll b;
} linell;
ull n, m;
ull h, w;
ull k;
ull q;
ull vua, vub, vuc, vud, vue, vuf;
sll vsa, vsb, vsc, vsd, vse, vsf;
long double vra, vrb, vrc;
double vda, vdb, vdc;
size_t slen;
size_t tlen;
char ch, dh;
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;
}
ull divide (ull a, ull b, ull modulo) {
return (a * bitpow(b, modulo - 2, modulo)) % modulo;
}
ull udiff (ull a, ull b) {
if (a >= b) {
return a - b;
} else {
return b - a;
}
}
sll sdiff (sll a, sll b) {
if (a >= b) {
return a - b;
} else {
return b - a;
}
}
void printUquotient (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;
}
void printSquotient (sll left, sll right) {
if (left * right < 0) putchar('-');
printUquotient(sdiff(left, 0), sdiff(right, 0));
return;
}
int bitcount (ull n) {
int result = 0;
while (n) {
if (n & 1) result++;
n /= 2;
}
return result;
}
#ifdef __cplusplus
bool setfind (set<ull> s, ull x) {
return (s.find(x) != s.end());
}
#endif
// double distance (sll x1, sll y1, sll x2, sll y2) {
// double xdist2, ydist2, origindist, dist;
// xdist2 = (x1 - x2) * (x1 - x2);
// ydist2 = (y1 - y2) * (y1 - y2);
// return sqrt(xdist2 + ydist2);
// }
int32_t pullcomp (const void *left, const void *right) {
ull l = *(ull*)left;
ull r = *(ull*)right;
if (l < r) {
return -1;
}
if (l > r) {
return +1;
}
return 0;
}
int32_t psllcomp (const void *left, const void *right) {
sll l = *(sll*)left;
sll r = *(sll*)right;
if (l < r) {
return -1;
}
if (l > r) {
return +1;
}
return 0;
}
int32_t pcharcomp (const void *left, const void *right) {
char l = *(char*)left;
char r = *(char*)right;
if (l < r) {
return -1;
}
if (l > r) {
return +1;
}
return 0;
}
int32_t pstrcomp (const void *left, const void *right) {
char* l = *(char**)left;
char* r = *(char**)right;
return strcmp(l, r);
}
int32_t phwllABcomp (const void *left, const void *right) {
hwll l = *(hwll*)left;
hwll r = *(hwll*)right;
if (l.a < r.a) {
return -1;
}
if (l.a > r.a) {
return +1;
}
if (l.b < r.b) {
return -1;
}
if (l.b > r.b) {
return +1;
}
return 0;
}
int32_t phwllREVcomp (const void *left, const void *right) {
hwll l = *(hwll*)left;
hwll r = *(hwll*)right;
if (l.b < r.b) {
return -1;
}
if (l.b > r.b) {
return +1;
}
if (l.a < r.a) {
return -1;
}
if (l.a > r.a) {
return +1;
}
return 0;
}
int32_t ptriplecomp (const void *left, const void *right) {
hwllc l = *(hwllc*)left;
hwllc r = *(hwllc*)right;
if (l.a < r.a) {
return -1;
}
if (l.a > r.a) {
return +1;
}
if (l.b < r.b) {
return -1;
}
if (l.b > r.b) {
return +1;
}
if (l.c < r.c) {
return -1;
}
if (l.c > r.c) {
return +1;
}
return 0;
}
bool isinrange (sll left, sll x, sll right) {
return (left <= x && x <= right);
}
bool isinrange_soft (sll left, sll x, sll right) {
return (left <= x && x <= right) || (left >= x && x >= right);
}
ull parent[N_MAX];
ull rank[N_MAX];
void uf_init (ull n) {
for (sll i = 0; i < n; i++) {
parent[i] = i;
rank[i] = 0;
}
}
ull uf_find (ull x) {
if (parent[x] == x) return x;
return parent[x] = uf_find(parent[x]);
}
bool uf_union (ull a, ull b) {
a = uf_find(a);
b = uf_find(b);
if (a == b) return false;
if (rank[a] > rank[b]) {
parent[b] = a;
} else {
parent[a] = b;
if (rank[a] == rank[b]) {
rank[b]++;
}
}
return true;
}
sll a[N_MAX];
// sll a[3001][3001];
sll b[N_MAX];
sll c[N_MAX];
char s[N_MAX + 1];
// char s[3010][3010];
char t[N_MAX + 1];
// hwll xy[N_MAX];
ull dig (ull n) {
if (n == 0) return 0;
return dig(n / 10) + (n % 10);
}
ull solve () {
sll i, j, ki, li;
ull result = 0;
// sll result = 0;
double dresult = 0;
// ull maybe = 0;
sll maybe = 0;
// ull sum = 0;
sll sum = 0;
sll item;
ull *dpcell;
if (vua + vub - 1 > n) goto fail;
if (vua * vub < n) goto fail;
ull peace, more;
if (vua > 1) {
peace = (n - vub) / (vua - 1);
more = (n - vub) % (vua - 1);
}
ull base = 0;
ki = 0;
for (i = 0; i < vua; i++) {
ull len;
if (i == 0) {
len = vub;
} else {
len = peace + ((i <= more) ? 1 : 0);
}
for (j = len; j; j--) {
a[ki++] = base + j;
}
base += len;
}
for (i = 0; i < n; i++) {
printf("%llu%c", a[i], (i == n - 1 ? '\n' : ' '));
}
// printf("%llu\n", result);
// printf("%.15lf\n", dresult);
// puts(s);
return 0;
success:
// puts("YES");
puts("Yes");
// printf("%llu\n", result);
// puts("0");
// puts("First");
return 0;
fail:
// puts("NO");
// puts("No");
// puts("0");
puts("-1");
// puts("-1 -1 -1");
// puts("Second");
return 1;
}
int32_t main (void) {
int32_t i, j;
int32_t x, y;
// scanf("%lf%lf", &vda, &vdb, &vdc);
// scanf("%lld%lld", &vsa, &vsb, &vsc, &vsd);
// scanf("%llu%llu", &vua, &vub, &vuc, &vud);
// scanf("%*llu%*llu");
// scanf("%llu%llu", &h, &w);
scanf("%llu", &n, &m);
// scanf("%llu", &k, &n);
scanf("%llu%llu", &vua, &vub, &vuc, &vud, &vue, &vuf);
// vua--;
// vub--;
// vuc--;
// vud--;
// scanf("%lld%lld", &vsa, &vsb, &vsc);
// scanf("%s", s);
// scanf("%s", t);
// scanf("%llu", &k);
// scanf("%llu", &q);
// for (i = 0; i < n; i++) {
// scanf("%lld", &a[i]);
// // scanf("%lld", &b[i]);
// // scanf("%lld%lld", &xy[i].a, &xy[i].b);
// // scanf("%lld", &c[i]);
// // a[i]--;
// // b[i]--;
// // c[i]--;
// }
// scanf("%llu%llu", &m, &k);
// for (i = 0; i < m; i++) {
// scanf("%llu", &b[i]);
// b[i]--;
// }
// scanf("%llu", &q);
// for (i = 0; i < n; i++) {
// for (j = 0; j < n; j++) {
// scanf("%llu", &a[i][j]);
// }
// }
// for (i = 0; i < h; i++) {
// scanf("%s", &s[i]);
// }
// scanf("%llu", &k);
// scanf("%llu", &q);
solve();
return 0;
}
Submission Info
Submission Time
2018-06-22 16:51:56+0900
Task
E - LISDL
User
sheyasutaka
Language
C (GCC 5.4.1)
Score
700
Code Size
7716 Byte
Status
AC
Exec Time
32 ms
Memory
8192 KB
Compile Error
./Main.c: In function ‘printUquotient’:
./Main.c:142: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:146: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:379:10: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 2 has type ‘sll {aka long int}’ [-Wformat=]
printf("%llu%c", a[i], (i == n - 1 ? '\n' : ' '));
^
./Main.c: In function ‘main’:
./Main.c:415: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", &n, &m);
^
./Main.c:415:8: warning: too many arguments for format [-Wformat-extra-args]
./Main.c:417:8: warning: format ‘%llu’ expects argu...
Judge Result
Set Name
Sample
All
Score / Max Score
0 / 0
700 / 700
Status
Set Name
Test Cases
Sample
s1.txt, s2.txt, s3.txt
All
01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, 49.txt, 50.txt, 51.txt, 52.txt, s1.txt, s2.txt, s3.txt
Case Name
Status
Exec Time
Memory
01.txt
AC
11 ms
6912 KB
02.txt
AC
3 ms
4352 KB
03.txt
AC
16 ms
7168 KB
04.txt
AC
2 ms
4224 KB
05.txt
AC
29 ms
8064 KB
06.txt
AC
1 ms
4224 KB
07.txt
AC
1 ms
4224 KB
08.txt
AC
15 ms
7040 KB
09.txt
AC
18 ms
7296 KB
10.txt
AC
29 ms
8064 KB
11.txt
AC
30 ms
8064 KB
12.txt
AC
32 ms
8192 KB
13.txt
AC
26 ms
7808 KB
14.txt
AC
23 ms
7680 KB
15.txt
AC
9 ms
6784 KB
16.txt
AC
30 ms
8064 KB
17.txt
AC
2 ms
4224 KB
18.txt
AC
12 ms
6912 KB
19.txt
AC
22 ms
7552 KB
20.txt
AC
1 ms
4224 KB
21.txt
AC
12 ms
6912 KB
22.txt
AC
23 ms
7680 KB
23.txt
AC
22 ms
7552 KB
24.txt
AC
1 ms
4224 KB
25.txt
AC
29 ms
8064 KB
26.txt
AC
1 ms
4224 KB
27.txt
AC
1 ms
4224 KB
28.txt
AC
12 ms
6912 KB
29.txt
AC
24 ms
7808 KB
30.txt
AC
27 ms
7936 KB
31.txt
AC
19 ms
7424 KB
32.txt
AC
32 ms
8192 KB
33.txt
AC
31 ms
8192 KB
34.txt
AC
27 ms
7936 KB
35.txt
AC
11 ms
6912 KB
36.txt
AC
31 ms
8192 KB
37.txt
AC
2 ms
4352 KB
38.txt
AC
13 ms
6912 KB
39.txt
AC
24 ms
7680 KB
40.txt
AC
1 ms
4224 KB
41.txt
AC
1 ms
2176 KB
42.txt
AC
1 ms
2176 KB
43.txt
AC
1 ms
2176 KB
44.txt
AC
1 ms
4224 KB
45.txt
AC
28 ms
8064 KB
46.txt
AC
14 ms
7040 KB
47.txt
AC
1 ms
4224 KB
48.txt
AC
26 ms
7936 KB
49.txt
AC
5 ms
4480 KB
50.txt
AC
1 ms
2176 KB
51.txt
AC
1 ms
2176 KB
52.txt
AC
1 ms
2176 KB
s1.txt
AC
1 ms
4224 KB
s2.txt
AC
1 ms
4224 KB
s3.txt
AC
1 ms
2176 KB