Pagini recente » Cod sursa (job #1108340) | Cod sursa (job #461954)
Cod sursa(job #461954)
#include <stdio.h>
#include <algorithm>
using namespace std;
int n, K;
int i, j, k;
int stop, grup;
struct animale
{
int poz;
int val;
};
struct animale v[100001];
int compare (animale a, animale b)
{
if (a.val != b.val)
return a.val > b.val;
else
return a.poz < b.poz;
}
int main ()
{
FILE *f = fopen ("grupuri.in","r");
FILE *g = fopen ("grupuri.out","w");
fscanf (f,"%d %d", &K, &n);
for (i=1; i<=n; ++i)
{
fscanf (f,"%d", &v[i].val);
v[i].poz = i;
}
sort (v + 1, v + 1 + n, compare);
/* for (i=1; i<=n; ++i)
printf ("%d ", v[i].poz);
printf ("\n");
for (i=1; i<=n; ++i)
printf ("%d ", v[i].val);
printf ("\n_______________\n");*/
while (!stop)
{
for (i=1; i<=K; ++i)
{
if (v[i].val <= 0)
{
stop = 1;
break;
}
else
v[i].val --;
}
if (stop)
break;
grup ++;
sort (v + 1, v + 1 + n, compare);
}
//printf ("grup = %d\n\n", grup);
fprintf (g,"%d", grup);
fclose(g);
fclose(f);
return 0;
}