Pagini recente » Cod sursa (job #370834) | Cod sursa (job #715413) | Cod sursa (job #1120863) | Cod sursa (job #2546968) | Cod sursa (job #1254930)
#include <cstdio>
using namespace std;
int n,v[10000];
struct cerinta
{
bool da;
int val;
}a1,a2,a0;
void citire()
{
a0.da=false; a1.da=false; a2.da=false;
int x,m;
freopen("cautbin.in","r",stdin);
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&v[i]);
scanf("%d",&m);
for(int i=1;i<=n;i++)
{
scanf("%d",&m);
for(int j=1;j<=n;j++)
{
scanf("%d",&x);
if(x==0)
{
a0.da=true;
scanf("%d",&a0.val);
}
if(x==1)
{
a1.da=true;
scanf("%d",&a1.val);
}
if(x==2)
{
a2.da=true;
scanf("%d",&a2.val);
}
}
}
}
int cautbin(int x)
{
int poz=1, pas=1<<21;
while(pas>>=1)
{
if(pas+poz<n&&v[pas+poz]<=x)
poz+=pas;
}
return poz;
}
int main()
{
int x;
freopen("cautbin.out","w",stdout);
citire();
if(a0.da==true)
x=a0.val;
printf("%d\n",cautbin(x));
if(a1.da==true)
x=a1.val;
printf("%d\n",cautbin(x));
if(a2.da==true)
x=a2.val;
printf("%d\n",n-cautbin(x)+1);
return 0;
}