#include #include int main(void) { char *road; int d, n, m; int min, tmp, sum; int i, j, a; scanf("%d%d%d", &d, &n, &m); road = (char *)malloc(sizeof(char) * d); memset(road, 0, sizeof(char) * d); for(i = 0; i < n - 1; i++) { scanf("%d", &a); road[a] = 1; } road[0] = 1; for(i = 0; i < d; i++) { printf("[%d] : %d\n", i, road[i]); } sum = 0; for(i = 0; i < m; i++) { scanf("%d", &a); min = d; for(j = a; ; j++) { if(j == d) j = 0; if(road[j] == 1) { tmp = j - a; if(tmp < 0) { tmp += d; } if(tmp < min) min = tmp; printf("時計回り: [%d]\n", j); break; } } for(j = a; ; j--) { if(j < 0) j = d - 1; if(road[j] == 1) { tmp = a - j; if(tmp < 0) { tmp += d; } if(tmp < min) min = tmp; printf("反時計回り: [%d]\n", j); break; } } sum += min; printf("sum = %d\n", sum); } printf("%d\n", sum); return 0; }