Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib>
- #include <cstdio>
- #include <vector>
- #include <set>
- #include <queue>
- #include <ctime>
- using namespace std;
- int main()
- {
- int n;
- vector<int> wektor,w1,w2;
- set<int> zbior;
- priority_queue<int> kolejka;
- clock_t s,p,e;
- scanf("%d",&n);
- wektor.resize(n);
- w1.reserve(n);
- w2.reserve(n);
- for (int j=0;j<n;j++) wektor[j]=j;
- random_shuffle ( wektor.begin(), wektor.end() );
- s = clock();
- for (int j=0;j<n;j++)
- zbior.insert(wektor[j]);
- p=clock();
- for (auto it = zbior.rbegin(); it!=zbior.rend();++it )
- w1.push_back(*it);
- e=clock();
- printf("\nzbior %f %f\n",((float)(p-s))/CLOCKS_PER_SEC,((float)(e-s))/CLOCKS_PER_SEC);
- s = clock();
- for (int j=0;j<n;j++)
- kolejka.push(wektor[j]);
- p=clock();
- while(!kolejka.empty())
- {
- w2.push_back(kolejka.top());
- kolejka.pop();
- }
- e=clock();
- printf("kolejka %f %f\n",((float)(p-s))/CLOCKS_PER_SEC,((float)(e-s))/CLOCKS_PER_SEC);
- bool rowne=true;
- for (int j=0;j<n;j++)
- {
- rowne = (rowne && ( w1[j]==w2[j] ));
- // printf("%d %d %d\n",wektor[j],w1[j],w2[j]);
- }
- printf("%s\n",rowne?"OK":"NIEROWNE");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement