赞
踩
#include<iostream> using namespace std; const int N=1e5+10; int q[N]; int n,m; int main() { cin>>n>>m; for(int i=0;i<n;i++) cin>>q[i]; while(m--) { int k; cin>>k; int l=0,r=n-1; while(l<r) { int mid=(l+r)>>1; if(q[mid]>=k) r=mid; else l=mid+1; } if(q[l]!=k) cout<<-1<<' '<<-1<<endl; else { cout<<l<<' '; int l=0,r=n-1; while(l<r) { int mid=(l+r+1)>>1; if(q[mid]<=k) l=mid; else r=mid-1; } cout<<l<<' '<<endl; } } return 0; }
#include<iostream> using namespace std; int main() { double x; cin>>x; double l=-100,r=100;//根据题目范围 开三次方根 估计答案大概范围 while(r-l>1e-8) { double mid=(l+r)/2; if(mid*mid*mid>=x) r=mid; else l=mid; } printf("%.6lf\n",l); return 0; }
#include<iostream> #include<string> #include<algorithm> using namespace std; const int N=1e5+10; int a[N],s[N];//原数组 前缀和数组 int main() { int n,m; cin>>n>>m; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n;i++) s[i]=a[i]+s[i-1]; while(m--) { int l,r; cin>>l>>r; cout<<s[r]-s[l-1]<<endl; } return 0; }
#include<iostream> #include<cstring> #include<algorithm> using namespace std; const int N=1010; int a[N][N],s[N][N]; int n,m,q; int main() { cin>>n>>m>>q; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) cin>>a[i][j]; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j]; while(q--) { int x1,y1,x2,y2; cin>>x1>>y1>>x2>>y2; cout<<s[x2][y2]-s[x2][y1-1]-s[x1-1][y2]+s[x1-1][y1-1]<<endl; } return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。