acgo题库
  • 首页
  • 题库
  • 学习
  • 天梯
  • 备赛

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
  • 竞赛
  • 讨论
  • 团队
  • 商城
登录
注册
题目详情提交记录(0)
  • 秒了,直接ac

    #include <bits/stdc++.h> #include<iostream> #include <algorithm> using namespace std; int a[30100]; int main(){ int n,cnt,w; cin>>w; cin>>n; int j=n; int i=1; for(int i=1;i<=n;i++){ cin>>a[i]; } sort(a+1,a+n+1); while(i<=j){ if(a[i]+a[j]<=w){ i++; j--; } else{ j--; } cnt++; } cout<<cnt; }

    userId_undefined
    侯天宇
    47阅读
    1回复
    2点赞
  • ACGO首AC的GO

    userId_undefined
    沈思邈
    题解仙人时空双修者荣耀黄金勇敢小狗CSP-J一等奖GESP8级
    55阅读
    0回复
    1点赞
  • 题解

    先排个序,用双指针 如果i+j大于限定价格,就只拿j 时间复杂度:O(nlog2n)O(nlog_2n)O(nlog2 n)

    userId_undefined
    cjdst
    尊贵铂金CSP-S一等奖代码纠察员出题人
    36阅读
    0回复
    0点赞
  • 曼巴的肯定

    #include<bits/stdc++.h> using namespace std; const int MAX_N = 1000000; int main() { int w,n; cin>>w>>n; int prices[MAX_N]; for(int i = 0;i < n;i++) { cin>>prices[i]; } sort(prices,prices + n); int count = 0; int left = 0,right = n - 1; while(left <= right){ if(prices[left] + prices[right] <= w){ left++; right--; }else{ right--; } count++; } cout<<count; return 0; }

    userId_undefined
    man(但圣蛋)
    出道萌新秩序白银时间刺客空间掌握者时空双修者模拟·模拟练习生
    16阅读
    1回复
    1点赞
  • 题解

    userId_undefined
    zsy
    秩序白银时空双修者题解仙人快乐小狗BUG超度大师
    9阅读
    0回复
    2点赞
  • 纪念品分组

    #include<bits/stdc++.h> using namespace std; int w,n; int p[10000005]; int sum; int main(){ cin>>w>>n; for(int i=1;i<=n;i++){ cin>>p[i]; } sort(p+1,p+1+n); int i=1,j=n; while(i<=j){ if(p[i]+p[j]<=w){ sum++; i++; j--; }else{ sum++; j--; } } cout<<sum; return 0; }

    userId_undefined
    梁轶钦Chris
    倔强青铜
    4阅读
    0回复
    0点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页