Kod: Zaznacz cały
multimap<int, int, less<int> > A
Kod: Zaznacz cały
A.insert(a,b)
Kod: Zaznacz cały
multimap<int, int, less<int> > A
Kod: Zaznacz cały
A.insert(a,b)
Kod: Zaznacz cały
A.insert ( pair<int,int>(a,b) );
Kod: Zaznacz cały
#include<stdio.h>
#include<vector>
#include<map>
using namespace std;
//---------------------------------------------------------------------------
int main()
{
int Z,n,k;
scanf("%i", &Z);
vector<int> a;
vector<int> w;
int temp;
multimap<int, int, less<int> > MAX;
for(int numerek(0); numerek<Z; ++numerek)
{
a.clear();
MAX.clear();
scanf("%i%i", &n,&k);
a.resize(n);
w.resize(n);
for(int i(0); i<n; ++i)
scanf("%i", &a[i]);
for(int i(0); i<k; ++i)
MAX.insert(pair<int,int>(0, i));
for(int i(0); i<n; ++i) //*********************
{
multimap<int, int, less<int> >::iterator p =MAX.upper_bound(a[i]);
if(a[i]<p->first)
{
printf("NIE");
goto KONIEC;
}
else
{
w[i]=p->second;
temp=p->second;
MAX.erase(p);
MAX.insert(pair<int,int>(a[i], temp));
}
}
for(int i(0); i<n; ++i)
printf("%i ", w[i]);
KONIEC:
printf("/n");
}
return(0);
}
//---------------------------------------------------------------------------
to rozwiązanie tego zadania: nie pisałem tego bo prosiłem o pomoc w konkretnym fragmencie a nie w samym algorytmiePo pierwsze: a co to ma niby robić? Nie ma żadnych komentarzy, ani nic.
zawsze używałem strumieni ale w ostatnim zadaniu które wysłałem dały mi przekroczenie limitu czasu, a przeróbka na te syfne printfy przechodzila testy gladkoCzemu stdio.h? Jeśli już, to cstdio. A najlepiej w C++ używać ... strumieni z C++.
Kod: Zaznacz cały
ios_base::sync_with_stdio(0);