Pagini recente » Cod sursa (job #1889959) | Cod sursa (job #1689886) | Cod sursa (job #1412900) | Cod sursa (job #1859777) | Cod sursa (job #2900385)
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
void read_int32_t(FILE *__restrict stream, int32_t *__restrict nr) {
int8_t ch;
*nr = 0;
while ((ch = fgetc(stream)) && ('0' <= ch && ch <= '9')) {
*nr *= 10;
*nr += ch - '0';
}
if (ch == '\r') {
fgetc(stream);
}
}
int cmp(const void *o1, const void *o2) {
return (*(int32_t *)o1) > (*(int32_t *)o2);
}
int32_t x[50002];
int32_t y[50002];
int32_t n, h, l;
int main(void) {
{
FILE *__restrict in = fopen("tribute.in", "r");
read_int32_t(in, &n);
read_int32_t(in, &l);
read_int32_t(in, &h);
{
int32_t i;
for(i = 1; i <= n; ++i) {
read_int32_t(in, x + i);
read_int32_t(in, y + i);
}
}
fclose(in);
}
qsort(x + 1, n, sizeof(x[0]), cmp);
qsort(y + 1, n, sizeof(y[0]), cmp);
int32_t sum = 0;
{
FILE *__restrict out = fopen("tribute.out", "w");
{
int32_t i;
for(i = 1; i <= n; ++i) {
if (x[i + 1] - x[n - i] - l > 0) {
sum += x[i + 1] - x[n - i] - l;
}
}
for(i = 1; i <= n; ++i) {
if (y[i + 1] - y[n - i] - h > 0) {
sum += y[i + 1] - y[n - i] - h;
}
}
}
fprintf(out, "%u", sum);
fclose(out);
}
return 0;
}