Codeforces Mail.Ru Cup 2018 Round 2
阿新 • • 發佈:2018-11-24
#include<cstdio> int main(){ int n,s; int a[1005],b[1005]; while(~scanf("%d%d",&n,&s)){ int k=0; for(int i=0;i<n;i++) scanf("%d",&a[i]); for(int i=0;i<n;i++) scanf("%d",&b[i]); if(a[0]==0) printf("NO\n"); else if(a[s-1]==1) printf("YES\n"); else { for(int i=s;i<n;i++){ if(a[i]==1&&b[i]==1) k++; } if(k>0&&b[s-1]==1) printf("YES\n"); else printf("NO\n"); } } }
#include<cstdio> const int maxn=1e5+5; long long a[maxn]={0}; int main(){ int n,m,l,count=0; scanf("%d%d%d",&n,&m,&l); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); if(a[i-1]<=l&&a[i]>l) count++; } int q,p,d; for(int i=0;i<m;i++){ scanf("%d",&q); if(q==0) printf("%d\n",count); else{ scanf("%d%d",&p,&d); if(a[p]<=l&&(a[p]+d)>l){ if(a[p-1]<=l&&a[p+1]<=l) count++; else if(a[p-1]>l&&a[p+1]>l) count--; } a[p]+=d; } } }
#include<cstdio> #include<algorithm> using namespace std; int gcd(int a,int b){ if(b!=0) return gcd(b,a%b); else return a; } int main(){ int l1,r1,t1,l2,r2,t2; scanf("%d%d%d",&l1,&r1,&t1); scanf("%d%d%d",&l2,&r2,&t2); int g=gcd(max(t1,t2),min(t1,t2)); int len1=r1-l1+1; int len2=r2-l2+1; l1%=g; l2%=g; int p=0,ans=0; p=min(l1+len1,l2+len2)-max(l1,l2); ans=max(p,ans); if(l1<l2) l1+=g; else l2+=g; p=min(l1+len1,l2+len2)-max(l1,l2); ans=max(p,ans); printf("%d\n",ans); }