Otóż mam takie pytanie, na main.edu.pl http://main.edu.pl/pl/user.phtml?op=showtask&task=prz&con=OIG6
wykonałem to, ale mam problem z przyśpieszeniem działania,
chciałbym się Was poradzić. Jestem początkujący w c++ więc nie ma mowy o jakiejś rozkminie.
Proszę Was tylko o naprowadzenie na błąd, lub na jakiś inny sposób.
#include <stdio.h>
using namespace std;
int main(){
int n,m,p,ma=0; // n - liczba licznikow, m - liczba czynnosci,
scanf ("%d %d",&n,&m); // p - numer licznika ( aktualnie podawany ), ma - indeks najwiekszego elementu
int *tab = new int[n];
for(int i=0; i<n; i++) tab[i]=0; // Zerowanie wartości tablicy
while ( m-- )
{
scanf("%d",&p);
if ( p!=n+1 )
{
tab[p-1]++;
if(tab[p-1]>tab[ma]) ma=p-1;
}
else
{
for(int i=0; i<n; i++)
tab[i]=tab[ma];
}
}
printf ("%d",tab[0]);
for(int i=1; i<n; i++)
{
printf(" %d",tab[i]);
}
printf("\n");
delete [] tab;
return 0;
}
z góry dziękuje