Pagini recente » Cod sursa (job #1015254) | Cod sursa (job #2942477) | Cod sursa (job #3220644) | Cod sursa (job #3233941) | Cod sursa (job #525991)
Cod sursa(job #525991)
#include<stream.h>
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int n,p,u,poz,w,m,x,a[100001];
int main(){
f>>x;
p=1;
u=n;
poz=-1;
w=1;
while(p<=u && w){
m=(p+u)/2;
if(x=a[m]){
w=0; poz=m
else {
if(x>a[m]) p=m+1;
else u=m-1;
}
}
}
if(w=1) { g<<-1;
else {
while(a[poz]=x && poz<=n)
poz=poz+1;
g<<poz-1;
}
}
while(p<=u && w=!){
m=(p+u)/2;
if(x=a[m]){
w=0; poz=m
else {
if(x>a[m]) p=m+1;
else u=m-1;
}
}
}
if(w=1) {
g<<u;
else {
while(a[poz]=x && poz<=n)
poz=poz+1;
g<<poz-1;
}
}
while(p<=u && w) {
m=(p+u)/2;
if(x=a[m]){
w=0; poz=m
else {
if(x>a[m]) p=m+1;
else u=m-1;
}
}
}
if(w=1) {
g<<p;
else {
while(a[poz]=x && poz>=1)
poz=poz-1;
g<<poz+1;
}
}
g.close(); return 0;
}