解题思路:大水题没什么好说的
注意事项:不懂请留言!
参考代码:
#include <bits/stdc++.h> using namespace std; int n,k; int const maxn=30000+10; int a[maxn],flag[maxn]; int cmp(int a,int b){ return a>b; } int main(){ cin>>k>>n; for(int i=1;i<=n;i++) cin>>a[i]; sort(a+1,a+n+1,cmp); int i=1,j=n,ans=0; while(1){ if(flag[i]==1) break; if(a[i]+a[j]<=k){ flag[i++]=1; flag[j--]=1; ans++; } else{ flag[i++]=1; ans++; } } cout<<ans<<endl; return 0; }
0.0分
7 人评分
#include<bits/stdc++.h> using namespace std; int main() { int max,num,sum=0,t=0; cin>>max>>num; int a[num]; for(int i=0;i<num;i++) { cin>>a[i]; } sort(a,a+num); for(int i=0;i<=num-1;) { if(a[i]+a[num-1-i]>max) { sum++; num--; } else { i++; num--; } } cout<<sum; } 大佬能不能帮我看看哪里错了
#include<iostream> #include<bits/stdc++.h> using namespace std; int main() { int sum=0; int l=0; int n; int str[100]; int m; cin>>m; cin>>n; for(int i=1;i<=n;i++) { cin>>str[i]; } sort(str+1,str+n+1); int i,j; i=1; j=n; while(i<=j) { if(str[i]+str[j]>m) { sum=sum+1; j--; } if(str[i]+str[j]<=m) { l=l+1; i++; j--; } } cout<<sum+l<<endl; return 0; }怎么老是说数组越界呐
月儿会弯 2021-05-24 14:35:39 |
数组开小了
矩形面积交 (C语言代码)浏览:1553 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:940 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:593 |
【金明的预算方案】 (C++代码)浏览:997 |
1009题解浏览:802 |
Cylinder (C语言描述+详细分析)浏览:3375 |
出圈】指针malloc版浏览:377 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:609 |
1052题解(链表操作)浏览:782 |
排序算法(选择,插入,冒泡)浏览:876 |