关注
第一题好巧妙,学习了.贴一下我的
#include <iostream>
#include<vector>
#include<climits>
using namespace std;
int main()
{
//前缀和思想,加剪枝
int n;
int k;
int max_val = INT_MIN;
while(cin>>n){
vector<int> nums(n, 0);
cin>>nums[0];
for(int i=1;i<n;++i){
cin>>nums[i];
nums[i] += nums[i-1];
}
cin>>k;
for(int i=n-1;i>=0;--i){
if(max_val<i+1 && nums[i]%k==0){//剪枝
max_val = i+1;
break;//剪枝
}
}
for(int i=0;i<n;++i){
for(int j=n-1;j>=i;--j){
if(max_val<j-i){
if((nums[j]-nums[i])%k==0){//剪枝
max_val = j-i;
}
}
else//剪枝
break;
}
}
cout<<max_val<<endl;
}
return 0;
}
第二题
#include <iostream>
#include<vector>
#include<climits>
using namespace std;
int main()
{
//思路:分析样例发现,当某个数大于其他数的和时,只用从这个最大数开始.然而因为该数大于其他书的总和,所以分完其他所有人以后,还是有书剩余.不符合条件.
//代码较简单
int n;
int sum;
while(cin>>n){
vector<int> nums(n, 0);
bool flag = true;
for(int i=0;i<n;++i){
cin>>nums[i];
sum += nums[i];
}
for(int i=0;i<n;++i){
if(nums[i]*2>sum){
cout<<"No"<<endl;
flag = false;
break;
}
}
if(flag)
cout<<"Yes"<<endl;
}
return 0;
}
查看原帖
点赞 评论
相关推荐
牛客热帖
正在热议
# 25届秋招总结 #
446318次浏览 4560人参与
# 春招别灰心,我们一人来一句鼓励 #
43043次浏览 544人参与
# 地方国企笔面经互助 #
8111次浏览 18人参与
# 同bg的你秋招战况如何? #
78874次浏览 576人参与
# 实习必须要去大厂吗? #
55976次浏览 962人参与
# 虾皮求职进展汇总 #
118638次浏览 898人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
12016次浏览 305人参与
# 实习,投递多份简历没人回复怎么办 #
2456645次浏览 34872人参与
# 提前批简历挂麻了怎么办 #
150180次浏览 1980人参与
# 在找工作求抱抱 #
906770次浏览 9425人参与
# 如果公司给你放一天假,你会怎么度过? #
4803次浏览 57人参与
# 你投递的公司有几家约面了? #
33243次浏览 188人参与
# 投递实习岗位前的准备 #
1196678次浏览 18553人参与
# 机械人春招想让哪家公司来捞你? #
157724次浏览 2267人参与
# 双非本科求职如何逆袭 #
663029次浏览 7397人参与
# 发工资后,你做的第一件事是什么 #
13036次浏览 62人参与
# 工作中,努力重要还是选择重要? #
36373次浏览 387人参与
# 简历中的项目经历要怎么写? #
87082次浏览 1517人参与
# 参加完秋招的机械人,还参加春招吗? #
20223次浏览 240人参与
# 我的上岸简历长这样 #
452311次浏览 8091人参与