C++数组
- 总时间限制:
- 1000ms
- 内存限制:
- 32767kB
- 描述
-
八戒学完了算术,师父打算给八戒一个买礼物的任务。他们即将到达女儿国,师父给八戒m个盘缠,要他去买些礼物,已备到时候用作给女儿国国王、大臣们的见面礼。因为不知道即将来迎接他们的人数,为了尽可能让女儿国的小姐姐们高兴,师父要八戒尽量多买几件礼物备着。
领了任务,拿了盘缠的八戒来到不远处的礼品店,他发现店里一共有n件商品,每件商品各有价格。于是,八戒要算一算手里的m个盘缠,最多能买几件礼物。
- 输入
- 共2行,第一行包含两个整数n和m,n表示礼物总数,m表示师傅给八戒的盘缠;
第二行包含n个整数,分别表示每件礼物的价格。
题目保证:
1<= n <=500
1<= m <=10000
1<= 每件礼物的价格 <=1000 - 输出
- 八戒最多能买到的礼物个数
- 样例输入
-
5 60 40 20 10 20 30
- 样例输出
-
3
1 #include<iostream> 2 #include<algorithm> 3 using namespace std; 4 int main() 5 { 6 int n,m; 7 cin>>n>>m; 8 int a[n]; 9 for(int i=0;i<n;++i){ 10 cin>>a[i]; 11 } 12 13 int sum=0; 14 sort(a,a+n); 15 if(a[0]>m) 16 { 17 cout<<0; 18 return 0; 19 } 20 for(int i=0;i<n;++i) 21 { 22 sum+=a[i]; 23 if(i<n-1) 24 { 25 if(sum<=m&&m<sum+a[i+1]) 26 { 27 cout<<i+1; 28 return 0; 29 } 30 if(sum==sum+a[i+1]) 31 { 32 cout<<i+2; 33 return 0; 34 } 35 36 } 37 38 } 39 if(m>=sum) 40 { 41 cout<<n; 42 return 0; 43 } 44 }
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
-
在线性代数、计算几何中,向量点积是一种十分重要的运算。
给定两个n维向量a=(a1,a2,...,an)和b=(b1,b2,...,bn),求点积a·b=a1b1+a2b2+...+anbn。
- 输入
- 第一行是一个整数n。1 <= n <= 1000。
第二行包含n个整数a1,a2,...,an。
第三行包含n个整数b1,b2,...,bn。
相邻整数之间用单个空格隔开。每个整数的绝对值都不超过1000。 - 输出
- 一个整数,即两个向量的点积结果。
- 样例输入
-
3 1 4 6 2 1 5
- 样例输出
-
36
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int n,a[1000],b[1000]; 6 cin>>n; 7 for(int i=0;i<n;++i) 8 { 9 10 cin>>a[i]; 11 } 12 for(int i=0;i<n;++i) 13 { 14 15 cin>>b[i]; 16 } 17 int k=0; 18 for(int i=0;i<n;++i) 19 { 20 k+=a[i]*b[i]; 21 22 } 23 cout<<k; 24 25 return 0; 26 }
道阻且长,行则将至