YFYONE @ 2019-11-21 00:20:26
#include <iostream>
using namespace std;
int n,s,a,b,xi,yi,k,cnt;
void fun(int s,int *f,int k){
int t;
for(int i=0;i<k;i++){
for(int j=0;j<k-i;j++){
if(f[j]>f[j+1]){
t=f[j];
f[j]=f[j+1];
f[j+1]=t;
}
}
}
for(int i=0;i<k;i++){
s-=f[i];
if(s>=0) cnt++;
}
}
int main(void){
cin>>n>>s>>a>>b;
int f[k];
for(int i=0;i<n;i++){
cin>>xi>>yi;
if(a+b>=xi) f[k++]=yi;
}
k--;
fun(s,f,k);
cout<<cnt;
return 0;
}
by l__nf @ 2019-11-21 09:34:27
已改,你看一下
#include <iostream>
using namespace std;
int n,s,a,b,xi,yi,k,cnt;
int f[10086];
void fun(int s,int f[],int k) {
int t;
for(int i=0; i<k; i++) {
for(int j=0; j<k-i; j++) {
if(f[j]>f[j+1]) {
t=f[j];
f[j]=f[j+1];
f[j+1]=t;
}
}
}
for(int i=0; i<k; i++) {
s-=f[i];
if(s>=0) cnt++;
}
}
int main() {
cin>>n>>s>>a>>b;
for(int i=0; i<n; i++) {
cin>>xi>>yi;
if(a+b>=xi) f[k++]=yi;
}
k--;
fun(s,f,k);
cout<<cnt;
return 0;
}
by l__nf @ 2019-11-21 09:34:34
@YFYONE
by l__nf @ 2019-11-21 09:37:50
或者是你把f数组放在主函数上面就像这样
......
int f[10001];
int main()
{
......
}
by YFYONE @ 2019-11-21 16:13:38
@l__nf 谢谢大佬,我想问一下,为什么不放到主函数上面会出错。
by l__nf @ 2019-11-21 16:21:41
你没初始化