Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct
- {
- long int m;
- long int v;
- } P;
- P p[10010];
- int nEl = 0;
- void print()
- {
- for (int i = 0; i < nEl; ++i)
- {
- printf("%ld %ld\n", p[i].m, p[i].v);
- }
- }
- int cmp(const void *arg1, const void *arg2)
- {
- P *p1 = (P *) arg1;
- P *p2 = (P *) arg2;
- if (p1->m * p1->v == p2->m * p2->v)
- {
- if (p2->m >= p1->m)
- return 1;
- else
- return -1;
- }
- else if (p1->m * p1->v > p2->m * p2->v)
- return 1;
- else
- return -1;
- return 0;
- }
- int main()
- {
- scanf("%d", &nEl);
- for (int i = 0; i < nEl; ++i)
- {
- scanf("%ld", &(p[i].m));
- scanf("%ld", &(p[i].v));
- }
- qsort(&p, nEl, sizeof(P), cmp);
- print();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement