#include <stdio.h>
#include <stdlib.h>
static int cmpint(const void *a, const void *b) {
return *((int *)b) - *((int *)a);
}
int main(void) {
int n,m,i,j,u, *v, *p;
scanf("%d%d", &n, &m);
v = malloc(n*sizeof(*v));
p = malloc(m*sizeof(*p));
for (i=0; i<n; ++i)
scanf("%d", v+i);
for (i=0; i<m; ++i)
scanf("%d", p+i);
qsort(v, n, sizeof(*v), cmpint);
qsort(p, m, sizeof(*v), cmpint);
u = -1;
for (i=0; i<n; ++i) {
for (j=0; j < m && v[i] >= p[j]; ++j);
if (j==m) {
printf("NIE\n");
return 0;
}
p[j] -= v[i];
if (u<j) u = j;
}
printf("%d\n", u+1);
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #include <stdio.h> #include <stdlib.h> static int cmpint(const void *a, const void *b) { return *((int *)b) - *((int *)a); } int main(void) { int n,m,i,j,u, *v, *p; scanf("%d%d", &n, &m); v = malloc(n*sizeof(*v)); p = malloc(m*sizeof(*p)); for (i=0; i<n; ++i) scanf("%d", v+i); for (i=0; i<m; ++i) scanf("%d", p+i); qsort(v, n, sizeof(*v), cmpint); qsort(p, m, sizeof(*v), cmpint); u = -1; for (i=0; i<n; ++i) { for (j=0; j < m && v[i] >= p[j]; ++j); if (j==m) { printf("NIE\n"); return 0; } p[j] -= v[i]; if (u<j) u = j; } printf("%d\n", u+1); return 0; } |
English