#include <stdio.h>
#define MAX 100002
int main()
{
struct potwor
{
long d;
long a;
float rate;
bool used;
};
long n,z;
scanf("%ld %ld",&n,&z);
potwor tab[MAX];
long kolejnosc[MAX];
for (long i = 0; i < n; ++i)
{
scanf("%ld %ld",&tab[i].d,&tab[i].a);
tab[i].rate=(float)tab[i].a/(float)tab[i].d;
tab[i].used=false;
}
tab[MAX].d=-1;
tab[MAX].a=-1;
//-- WCZYTALIŚMY WSZYSTKIE DANE --//
for (long i=0;i<n;i++)
{
long naj=MAX;
for (long j = 0; j < n; ++j)
{
//printf("j: %ld tab[j].rate:%f tab[naj].rate:%f tab[j].d:%ld\n",j,tab[j].rate,tab[naj].rate,tab[j].d);
if (tab[j].d > tab[naj].d && tab[j].d < z && tab[j].used==false)
{
naj=j;
}
if (tab[j].d == tab[naj].d && tab[j].d < z && tab[j].used==false && tab[j].rate > tab[naj].rate)
{
naj=j;
}
}
if(naj==MAX)
{
printf("NIE\n");
return 0;
}
z=z-tab[naj].d;
z=z+tab[naj].a;
tab[naj].used=true;
kolejnosc[i]=naj;
}
printf("TAK\n");
for (int i = 0; i < n; ++i)
{
printf("%ld ",kolejnosc[i]+1);
}
}
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | #include <stdio.h> #define MAX 100002 int main() { struct potwor { long d; long a; float rate; bool used; }; long n,z; scanf("%ld %ld",&n,&z); potwor tab[MAX]; long kolejnosc[MAX]; for (long i = 0; i < n; ++i) { scanf("%ld %ld",&tab[i].d,&tab[i].a); tab[i].rate=(float)tab[i].a/(float)tab[i].d; tab[i].used=false; } tab[MAX].d=-1; tab[MAX].a=-1; //-- WCZYTALIŚMY WSZYSTKIE DANE --// for (long i=0;i<n;i++) { long naj=MAX; for (long j = 0; j < n; ++j) { //printf("j: %ld tab[j].rate:%f tab[naj].rate:%f tab[j].d:%ld\n",j,tab[j].rate,tab[naj].rate,tab[j].d); if (tab[j].d > tab[naj].d && tab[j].d < z && tab[j].used==false) { naj=j; } if (tab[j].d == tab[naj].d && tab[j].d < z && tab[j].used==false && tab[j].rate > tab[naj].rate) { naj=j; } } if(naj==MAX) { printf("NIE\n"); return 0; } z=z-tab[naj].d; z=z+tab[naj].a; tab[naj].used=true; kolejnosc[i]=naj; } printf("TAK\n"); for (int i = 0; i < n; ++i) { printf("%ld ",kolejnosc[i]+1); } } |
English