#include #include #include #include using namespace std; struct var{ int ileRazy; int kiedyUzyte; }; int main( int argc, char** argv ) { vector idSzyfry; map kontrola; struct var varTmp; int iloscSzyfrow=0, iloscZakresow=0, poczatek=0, koniec=0; long long llTmp=0; bool brakPowtorzen=true, stop=false;; while(!stop) { kontrola.clear(); idSzyfry.clear(); scanf("%d %d", &iloscSzyfrow, &iloscZakresow); if(iloscSzyfrow ==0 && iloscZakresow==0) { stop=true; } else { for(int i=0; iN, mamy od 0->N-1 koniec--;//ma zgadzac zamiast od 1->N, mamy od 0->N-1 //printf("P%d K%d\n", poczatek, koniec); //szukamy pierwszego niemniejszego for(int j=poczatek; j<=koniec; j++) { //printf("szyfr: %ld\n", idSzyfry[j]); if(kontrola[idSzyfry[j] ].kiedyUzyte!=i) { kontrola[idSzyfry[j] ].ileRazy=1; kontrola[idSzyfry[j] ].kiedyUzyte=i; } else if(kontrola[idSzyfry[j] ].ileRazy==0) { kontrola[idSzyfry[j] ].ileRazy++; } else { printf("%lld\n", idSzyfry[j]); brakPowtorzen=false; break;//wyjscie z for'a z j. kiedy odnajdziemy sie } } if(brakPowtorzen==true) { printf("OK\n"); } else { brakPowtorzen=true; } } printf("\n"); } } return 0; }