苹果消消乐,选择计算
苹果消消乐:
5 2 100 10 30 55 56 90
59
#include<iostream> using namespace std; const int N=1e6+10; int a[N]; int main(){ long long int n,m,l,x,y,maxn=0; cin>>n>>l>>m; for(int i=1;i<=n;i++) { cin>>a[i]; } for(int i=1;i<=n;i++) { x=a[i+l]-a[i-1]-1; maxn=max(maxn,x); } y=m+1-a[n-l]-1; if(maxn<y) maxn=y; cout<<maxn<<endl; return 0; }
选择计算:
100 80 2
20 这个没啥难度,就是longlong存就好了,但为什么n,m也需要longlong...这个不是没超吗。。。
#include<iostream> #include<cstring> using namespace std; typedef long long int ll; ll gcd(ll m,ll n) { if(m%n==0) return n; else return gcd(n,m%n); } ll gsy(ll m,ll n) { return m*n/gcd(m,n); } ll ss(ll n) { if(n<2) return 0; for(int i=2;i<=n/i;i++) if(n%i==0) return 0; return 1; } int main(){ ll x,y,z,t=0,flat; cin>>x>>y>>z; if(z==2) cout<<gcd(x,y)<<endl; else if(z==3) cout<<gsy(x,y)<<endl; else if(z==1) { for(int i=2;i<=x;i++) { if(ss(i)) { t++; flat=i; } if(t==y) { cout<<i<<endl; break; } } if(t<y) cout<<flat<<endl; } }