社区讨论
求助
灌水区参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lwt0q13z
- 此快照首次捕获于
- 2024/05/30 16:53 2 年前
- 此快照最后确认于
- 2024/05/30 20:07 2 年前
[ABC251B] At Most 3 (Judge ver.)
题面翻译
有 个数,最多选 个,总和正好凑到 及以下的有几个。
Translated by .
题目描述
おもり , おもり , , おもり の 個のおもりがあります。おもり の重さは です。
以下の条件を満たす正整数 を 良い整数 と呼びます。
以下の条件を満たす正整数 を 良い整数 と呼びます。
- 個以下 の異なるおもりを自由に選んで、選んだおもりの重さの和を にすることができる。
以下の正整数のうち、良い整数は何個ありますか?
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
答えを出力せよ。
样例 #1
样例输入 #1
CPP2 10
1 3
样例输出 #1
CPP3
样例 #2
样例输入 #2
CPP2 1
2 3
样例输出 #2
CPP0
样例 #3
样例输入 #3
CPP4 12
3 3 3 3
样例输出 #3
CPP3
样例 #4
样例输入 #4
CPP7 251
202 20 5 1 4 2 100
样例输出 #4
CPP48
提示
制約
- 入力される値はすべて整数
Sample Explanation 1
おもり のみを選ぶと重さの和は になります。よって は良い整数です。 おもり のみを選ぶと重さの和は になります。よって は良い整数です。 おもり とおもり を選ぶと重さの和は になります。よって は良い整数です。 これら以外に良い整数は存在しません。また、 のいずれも 以下の整数です。よって答えは 個になります。
Sample Explanation 2
以下の良い整数は存在しません。
Sample Explanation 3
良い整数は の 個です。 たとえばおもり , おもり , おもり を選ぶと重さの和は になるので、 は良い整数です。 は良い整数 **ではない** ことに注意してください。
CPP#include<bits/stdc++.h>
using namespace std;
unsigned long long n,a[1000000],w,cnt;
int main(){
cin>>n>>w;
for(int i=0;i<n;i++) cin>>a[i];
sort(a,a+n);
for(int i=0;i<n;i++){
if(a[i]<=w) cnt++;
}
for(int i=0;i<n-1;i++){
if(a[i]+a[i+1]<=w) cnt++;
}
for(int i=0;i<n-2;i++){
if(a[i]+a[i+1]+a[i+2]<=w) cnt++;
}
cout<<cnt;
}
这么写为什么不对啊
回复
共 2 条回复,欢迎继续交流。
正在加载回复...