In gamble riesco a fare 70/100 nel subtask 2 l’ultimo test fa “execution time out” come anche quasi tutti i test del subtask 6. Potete darmi qualche consiglio?
Questo è il codice:
#include <stdio.h>
#include <assert.h>
int N, K;
int minimo(int* v)
{
int i, min=v[0], pos=0;
for(i=1;i<K;i++)
{
if(v[i]<min)
{
min=v[i];
pos=i;
}
}
return pos;
}
int round(int C, int* vet)
{
int i, posto, somma=0;
posto=minimo(vet);
if(C>vet[posto])
{
vet[posto]=C;
}
for(i=0;i<K;i++)
{
somma=somma+vet[i];
}
return somma;
}
int main() {
FILE *fr, *fw;
int C, i;
fr = fopen("input.txt", "r");
fw = fopen("output.txt", "w");
assert(2 == fscanf(fr, "%d %d", &N, &K));
int vet[K];
for(i=0;i<K;i++)
{
vet[i]=0;
}
for(i=0; i<N; i++) {
assert(1 == fscanf(fr, "%d", &C));
fprintf(fw, "%d ", round(C, vet));
}
fprintf(fw, "\n");
fclose(fr);
fclose(fw);
return 0;
}