Submission #1691208
Source Code Expand
#include <stdio.h> #include <stdlib.h> #define datatype student typedef struct { int h; int w; int D; }student; //比較関数 int D_compare(datatype a, datatype b){ return a.D - b.D; } int w_compare(datatype a, datatype b){ return a.w - b.w; } //昇順 void sort_sub(datatype *origin, int left, int right, datatype *tmp, int (*comp)(datatype a, datatype b)){ if(right - left > 1){ int i, j, k, half = (left + right) / 2; sort_sub(origin, left, half, tmp, comp); sort_sub(origin, half, right, tmp, comp); for(i = left; i < right; i++){ tmp[i] = origin[i]; } for(i = left, j = left, k = half; i < right; i++){ if(k == right){ origin[i] = tmp[j]; j++; } else if(comp(tmp[j], tmp[k]) <= 0 && j < half){ origin[i] = tmp[j]; j++; } else{ origin[i] = tmp[k]; k++; } } } } void sort(datatype *origin, int N, int (*comp)(datatype a, datatype b)){ datatype *tmp = (datatype *)malloc(sizeof(datatype) * N); sort_sub(origin, 0, N, tmp, comp); free(tmp); } int ABS(int x){ return x >= 0 ? x : -x; } int main(){ int N, M, x0, a, p, i, j; long long ans = 0; scanf("%d%d", &N, &M); scanf("%d%d%d", &x0, &a, &p); student *s = (student *)malloc(sizeof(student) * N * M); s[0].h = 0; s[0].w = 0; s[0].D = x0; for(i = 1; i < N * M; i++){ s[i].h = i / M; s[i].w = i % M; s[i].D = (s[i - 1].D + a) % p; } sort(s, N * M, D_compare); for(i = 0; i < N; i++){ sort(&s[i * M], M, w_compare); for(j = 0; j < M; j++){ ans += ABS(s[i * M + j].h - i) + ABS(s[i * M + j].w - j); } } printf("%lld\n", ans); return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - 席替え |
User | abc050 |
Language | C (GCC 5.4.1) |
Score | 100 |
Code Size | 1671 Byte |
Status | AC |
Exec Time | 2 ms |
Memory | 384 KB |
Compile Error
./Main.c: In function ‘main’: ./Main.c:59:2: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d", &N, &M); ^ ./Main.c:60:2: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d%d", &x0, &a, &p); ^
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | case_01.txt, case_02.txt, case_03.txt, case_04.txt, case_05.txt, case_06.txt, case_07.txt, case_08.txt, case_09.txt, case_10.txt, case_11.txt, case_12.txt, case_13.txt, case_14.txt, case_15.txt, case_16.txt, case_17.txt, case_18.txt, case_19.txt, case_20.txt, case_21.txt, case_22.txt, case_23.txt, case_24.txt, case_25.txt, case_26.txt, case_27.txt, case_28.txt, case_29.txt, case_30.txt, case_31.txt, case_32.txt, case_33.txt, case_34.txt, case_35.txt, case_36.txt, case_37.txt, case_38.txt, case_39.txt, case_40.txt, case_41.txt, case_42.txt, case_43.txt, case_44.txt, case_45.txt, case_46.txt, case_47.txt, case_48.txt, case_49.txt, case_50.txt, case_51.txt, case_52.txt, case_53.txt, case_54.txt, case_55.txt, case_56.txt, case_57.txt, case_58.txt, case_59.txt, case_60.txt, case_61.txt, case_62.txt, case_63.txt, case_64.txt, case_65.txt, case_66.txt, case_67.txt, case_68.txt, case_69.txt, case_70.txt, case_71.txt, case_72.txt, case_73.txt, case_74.txt, case_75.txt, case_76.txt, case_77.txt, case_78.txt, case_79.txt, sample_1.txt, sample_2.txt, sample_3.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
case_01.txt | AC | 1 ms | 256 KB |
case_02.txt | AC | 1 ms | 256 KB |
case_03.txt | AC | 1 ms | 256 KB |
case_04.txt | AC | 1 ms | 128 KB |
case_05.txt | AC | 1 ms | 128 KB |
case_06.txt | AC | 1 ms | 128 KB |
case_07.txt | AC | 1 ms | 128 KB |
case_08.txt | AC | 1 ms | 128 KB |
case_09.txt | AC | 1 ms | 256 KB |
case_10.txt | AC | 1 ms | 256 KB |
case_11.txt | AC | 1 ms | 128 KB |
case_12.txt | AC | 1 ms | 256 KB |
case_13.txt | AC | 1 ms | 128 KB |
case_14.txt | AC | 1 ms | 256 KB |
case_15.txt | AC | 1 ms | 256 KB |
case_16.txt | AC | 1 ms | 256 KB |
case_17.txt | AC | 1 ms | 256 KB |
case_18.txt | AC | 1 ms | 256 KB |
case_19.txt | AC | 2 ms | 384 KB |
case_20.txt | AC | 1 ms | 256 KB |
case_21.txt | AC | 1 ms | 256 KB |
case_22.txt | AC | 1 ms | 128 KB |
case_23.txt | AC | 1 ms | 256 KB |
case_24.txt | AC | 1 ms | 256 KB |
case_25.txt | AC | 1 ms | 256 KB |
case_26.txt | AC | 1 ms | 256 KB |
case_27.txt | AC | 1 ms | 256 KB |
case_28.txt | AC | 1 ms | 128 KB |
case_29.txt | AC | 1 ms | 256 KB |
case_30.txt | AC | 1 ms | 256 KB |
case_31.txt | AC | 1 ms | 128 KB |
case_32.txt | AC | 1 ms | 128 KB |
case_33.txt | AC | 1 ms | 256 KB |
case_34.txt | AC | 1 ms | 256 KB |
case_35.txt | AC | 1 ms | 256 KB |
case_36.txt | AC | 1 ms | 256 KB |
case_37.txt | AC | 1 ms | 128 KB |
case_38.txt | AC | 1 ms | 128 KB |
case_39.txt | AC | 1 ms | 256 KB |
case_40.txt | AC | 1 ms | 256 KB |
case_41.txt | AC | 1 ms | 256 KB |
case_42.txt | AC | 1 ms | 128 KB |
case_43.txt | AC | 1 ms | 256 KB |
case_44.txt | AC | 1 ms | 128 KB |
case_45.txt | AC | 1 ms | 256 KB |
case_46.txt | AC | 1 ms | 256 KB |
case_47.txt | AC | 1 ms | 384 KB |
case_48.txt | AC | 1 ms | 128 KB |
case_49.txt | AC | 1 ms | 128 KB |
case_50.txt | AC | 2 ms | 384 KB |
case_51.txt | AC | 2 ms | 384 KB |
case_52.txt | AC | 2 ms | 384 KB |
case_53.txt | AC | 2 ms | 384 KB |
case_54.txt | AC | 2 ms | 384 KB |
case_55.txt | AC | 2 ms | 384 KB |
case_56.txt | AC | 2 ms | 384 KB |
case_57.txt | AC | 2 ms | 384 KB |
case_58.txt | AC | 2 ms | 384 KB |
case_59.txt | AC | 2 ms | 384 KB |
case_60.txt | AC | 2 ms | 384 KB |
case_61.txt | AC | 2 ms | 384 KB |
case_62.txt | AC | 2 ms | 384 KB |
case_63.txt | AC | 2 ms | 384 KB |
case_64.txt | AC | 2 ms | 384 KB |
case_65.txt | AC | 2 ms | 384 KB |
case_66.txt | AC | 2 ms | 384 KB |
case_67.txt | AC | 2 ms | 384 KB |
case_68.txt | AC | 2 ms | 384 KB |
case_69.txt | AC | 2 ms | 384 KB |
case_70.txt | AC | 1 ms | 128 KB |
case_71.txt | AC | 1 ms | 128 KB |
case_72.txt | AC | 1 ms | 128 KB |
case_73.txt | AC | 1 ms | 256 KB |
case_74.txt | AC | 1 ms | 128 KB |
case_75.txt | AC | 1 ms | 256 KB |
case_76.txt | AC | 1 ms | 128 KB |
case_77.txt | AC | 1 ms | 128 KB |
case_78.txt | AC | 1 ms | 128 KB |
case_79.txt | AC | 1 ms | 256 KB |
sample_1.txt | AC | 1 ms | 128 KB |
sample_2.txt | AC | 1 ms | 128 KB |
sample_3.txt | AC | 1 ms | 128 KB |