//A 好久没做了,5.1一过寝室不熄灯了,今天做了一场还是只做了2题。 弱。 #include<iostream> #include<stdio.h> using namespace std; int a[200005],b[200005]; int main() { // freopen("1.txt","r",stdin); int n,m,numx=0,numy=0,x,y; cin>>n>>m; for(int i=0; i<n; i++) { cin>>a[i]; if(a[i]==1) numx++; else numy++; } for(int j=0; j<m; j++) { cin>>x>>y; if((y-x)%2!=0&&(y-x+1)<=2*min(numx,numy)) // 满足这个条件才输出1 cout<<1<<endl; else cout<<0<<endl; } return 0; } //B #include<iostream> #include<stdio.h> #include<cstring> using namespace std; int v[100005],c[100005],t[100005],sum[100005]; int main() { //freopen("1.txt","r",stdin); memset(sum,0,sizeof(sum)); int n,m; cin>>n>>m; cin>>c[0]>>t[0]; sum[0]=c[0]*t[0]; for(int i=1; i<n; i++) { cin>>c[i]>>t[i]; sum[i]=c[i]*t[i]+sum[i-1]; } for(int j=0; j<m; j++) cin>>v[j]; int k=0; for(int j=0; j<m; j++) for(int i=k; i<n; i++) // 第一次TLE了,这里标记一下从上次的i开始节省了时间。 if(v[j]<=sum[i]) { cout<<i+1<<endl; k=i; break; } return 0; }
时间: 2024-10-29 05:43:15