Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
buenas galera..
entaum to tentando fazer um desafio do site do spoj q chama eleições..
fiz o algoritmo normal, soh q do jeito q fiz da TLE, ow seja extrapola o tempo limite de 1s.
fiz em java usando ArrayList e com isso verificando o numero e ocorrencias de um determinado numero; soh q se em C num passo em java a leitura é lenta de + e deu TLE tbm..
me deram a dica de usar o stl map do C++. soh q naum sei como contar o numero de ocorrencias de um numero.
vejam oq tentei até agora:
#include <iostream>
#include <map>
#include <stdio.h>
//#include <string.h>
using namespace std;
int main () {
map<int, string> mymap;
map<int, string >::iterator MyIterMap;
mymap[2]="2";
mymap[2]="1";
mymap[2]="1";
mymap[2]="1";
mymap[1]="1";
//cout << "mymap['a'] is ";
//cout << "mymap['b'] is ";
//cout << "mymap['c'] is ";
//cout << "mymap['d'] is ";
//cout << "mymap now contains " << (int) mymap.size() << " elements.";
int algo = 0;
map<int,string>::iterator iter;// = mymap.find(1);
MyIterMap = mymap.begin();
while( MyIterMap != mymap.end() ) {
//iter = mymap.find(1);
//if(iter != mymap.end()) algo++;
//algo++;
int values = (*MyIterMap).first;
//if ((values.compare("b") == 0)) printf("s");
//else printf("n");
//cout << mymap[values] <<endl;
string teste = mymap[values];
if (mymap[values] == "1") algo++;
//if(mymap.count(1) > 0) algo++;
// if(mymap.contains(1)) algo++;
MyIterMap++;
}
printf("%d", algo);
}
se alguem puder me ajudar, e tbm, o map ordena sozinho?
[]s
Carregando comentários...