关注
第一题好巧妙,学习了.贴一下我的
#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;
}
查看原帖
点赞 评论
相关推荐
求求给个offer我...:一群老登,当初自己是怎么进去的没点数吗?当初自己可能连C++都不会写就进去了吧?现在对候选人挑三拣四地选妃 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我来点评面试官 #
9241次浏览 76人参与
# 工作后,谈恋爱还和学生时代一样吗? #
38767次浏览 365人参与
# 京东开奖 #
445715次浏览 2498人参与
# 今年秋招是回暖还是遇冷 #
19293次浏览 122人参与
# 职场破冰,你们都聊什么? #
28233次浏览 150人参与
# 你实习是赚钱了还是亏钱了? #
19215次浏览 179人参与
# 你的领导最像哪种动物,为什么? #
23600次浏览 133人参与
# 阿里云工作体验 #
31410次浏览 106人参与
# 秋招开始捡漏了吗 #
59126次浏览 406人参与
# 我的AI电子员工 #
20662次浏览 151人参与
# 来聊聊你目前的求职进展 #
686052次浏览 6921人参与
# 同bg的你秋招战况如何? #
166294次浏览 967人参与
# 用一句话形容你的团队氛围 #
12165次浏览 144人参与
# 找工作八股要背到什么程度? #
10941次浏览 181人参与
# 上班摸鱼,你都在干些什么? #
28736次浏览 223人参与
# 教师节,你送祝福了吗 #
10965次浏览 75人参与
# 毕业论文进行时 #
1516次浏览 20人参与
# 三一集团提前批进度交流 #
39893次浏览 228人参与
# 你找工作是从容有余 or 匆忙滚爬? #
6662次浏览 72人参与
# 三一重工求职进展汇总 #
22299次浏览 82人参与
# 上班后,才发现大学__白学了 #
10609次浏览 67人参与
查看19道真题和解析