seerc 2013 C fread読み込みについて
991 ワード
入力が大きいので、freadは全く知りませんでした
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<vector>
#include<cstring>
#include <fstream>
using namespace std;
int m,n;
int a[10005][10005];
int main()
{
int c;
fread(&n,sizeof(n),1,stdin);
fread(&m,sizeof(m),1,stdin);
for(int i=0;i<n;i++)
{
fread(a[i],sizeof(int),m,stdin);
}
int l,r;
while(fread(&l,sizeof(l),1,stdin)!=0)
{
fread(&r,sizeof(r),1,stdin);
int last=m;
int ans=0;
for(int i=0;i<n;i++)
{
if(a[i][0]>r)break;
int ll=lower_bound(a[i],a[i]+last,l)-a[i];
int rr=upper_bound(a[i],a[i]+last,r)-a[i];
last=rr;
//cout<<ll<<" "<<rr<<endl;
if(rr<=ll)continue;
ans+=rr-ll;
}
printf("%d
",ans);
}
return 0;
}