关注
第一题好巧妙,学习了.贴一下我的
#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;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
查看8道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 在大厂上班是一种什么样的体验 #
10573次浏览 132人参与
# 你认为工作的意义是什么 #
249187次浏览 1498人参与
# 程序员找工作至少要刷多少题? #
18313次浏览 246人参与
# 为了减少AI幻觉,你注入过哪些设定? #
4517次浏览 147人参与
# 我现在比当时_,你想录用我吗 #
8627次浏览 111人参与
# 机械人避雷的岗位/公司 #
43365次浏览 298人参与
# 一张图晒一下你的AI员工 #
4994次浏览 114人参与
# 论秋招对个人心气的改变 #
10756次浏览 154人参与
# 关于春招/暑期实习,你想知道哪些信息? #
7414次浏览 119人参与
# 刚入职的你踩过哪些坑 #
6765次浏览 127人参与
# AI Coding的使用心得 #
4597次浏览 101人参与
# 晒晒你司的新年福利 #
8406次浏览 105人参与
# 牛客AI体验站 #
6697次浏览 185人参与
# 12306一秒售罄,你抢到回家的票了吗? #
1932次浏览 47人参与
# 柠檬微趣工作体验 #
14769次浏览 83人参与
# 总结:哪家公司面试体验感最差 #
92980次浏览 430人参与
# 程序员能干到多少岁? #
8540次浏览 115人参与
# 你认为小厂实习有用吗? #
118018次浏览 679人参与
# 互联网公司评价 #
485563次浏览 4109人参与
# 应届生进小公司有什么影响吗 #
118264次浏览 1159人参与

