Rang svakog elementa
Postovani,
Vec duze vreme se mucim sa ovim zadatkmo jer mi za poslednja 3 test primera program nije dovoljno brz. Da li nekako mozete da pomognete oko optimizovanja programa?
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct tak{
string ime;
int rezultat;
};
bool cmp(tak p1,tak p2){
return (p1.rezultat)>(p2.rezultat);
}
int binarySearch(vector<tak> arr,int n,int x)
{
int l=0;
int r=n-1;
while (l <= r) {
int m = l + (r - l) / 2;
if (arr[m].rezultat == x)
return m;
if (arr[m].rezultat > x)
l = m + 1;
else
r = m - 1;
}
}
int main()
{
ios_base::sync_with_stdio(false); cin.tie(0);
int n;
cin>>n;
vector<tak> takmicari(n);
vector<tak> kopija(n);
for(int i=0;i<n;i++){
cin>>takmicari[i].ime;
cin>>takmicari[i].rezultat;
kopija[i].ime=takmicari[i].ime;
kopija[i].rezultat=takmicari[i].rezultat;
}
sort(takmicari.begin(),takmicari.end(),cmp);
for(int i=0;i<n;i++){
cout<<kopija[i].ime<<" "<<binarySearch(takmicari,n,kopija[i].rezultat)+1<<endl;
}
return 0;
}
Link ka zadatku ili odgovarajućoj stranici:
https://petlja.org/biblioteka/r/Zbirka2/rang_svakog_elementa
…