Envío 2496
Caso # |
Resultado |
Tiempo |
Memoria |
#1 |

Correcto
|
0.006 s
|
1 KBi |
#2 |

Incorrecto
|
0.007 s
|
2 KBi |
#3 |

Correcto
|
0.006 s
|
5 KBi |
#4 |

Correcto
|
0.006 s
|
15 KBi |
#5 |

Correcto
|
0.005 s
|
8 KBi |
#6 |

Incorrecto
|
0.006 s
|
8 KBi |
#7 |

Correcto
|
0.007 s
|
8 KBi |
#8 |

Correcto
|
0.006 s
|
5 KBi |
#9 |

Incorrecto
|
0.006 s
|
38 KBi |
#10 |

Incorrecto
|
0.008 s
|
2 KBi |
Puntos totales: 60 / 100
Código
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int bSearch(vector<int>& vals, int target){
int l = 0;
int r = vals.size()-1;
int res = -1;
while(l<=r){
int m = (l+r)/2;
if(vals[m]<target){
l = m+1;
}
else if(vals[m]==target){
res = m;
l = m+1;
}
else{
r = m-1;
}
}
return res;
}
int main(){
int n, c;
cin>>n;
vector<int>vals(n);
for(auto &val: vals){
cin>>val;
}
sort(vals.begin(),vals.end());
cin>>c;
for(int i=0;i<c;i++){
int target;
cin>>target;
int indexElement = bSearch(vals,target);
if(indexElement!=-1){
cout<<vals.size()-1-indexElement<<endl;
}
else{
if(target>vals[vals.size()-1]){
cout<<0<<endl;
}
else{
cout<<vals.size()<<endl;
}
}
}
return 0;
}