题解|#D. Friends and the Restaurant# codeforces 820

这个题要求最多可以在餐厅待多少天,人数一共就那么几个,而且至少两人一组,那么如果可以分两人一组就尽量两人一组,这样组的总数才会多,然后就是贪心的思想了,最大的带一个他可以带的最小的,如果带不了,就放弃这个人,这样还能留出更多选择的余地。这个操作用尺取法就ok了。

#include<bits/stdc++.h>
using namespace std;
const int M=1e5+5;
typedef long long ll;
ll xx[M]; ll yy[M];
ll cha[M];
int main(){
    ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
    int t; cin>>t;
    while(t--){
        int n; cin>>n;
        for(int i=1;i<=n;i++) cin>>xx[i];
        for(int i=1;i<=n;i++){
            cin>>yy[i];
            cha[i]=yy[i]-xx[i];
        }
        sort(cha+1,cha+1+n);
        int l=1; int r=n;
        int sum=0;

        while(l<r){
            if(cha[l]+cha[r]<0){
                l++;
                continue;
            }
            if(cha[l]+cha[r]>=0){
                l++; r--;
                sum++;
            }
        }
        cout<<sum<<endl;
    }
    return 0;
}
全部评论

相关推荐

07-11 22:27
中南大学 Java
程序员牛肉:学历的话没问题。但是没问题的也就只有学历了。 其实你的整体架构是正确的,博客接着干。但是项目有点过于简单了。从后端的角度上讲,你这也就是刚入门的水平,所以肯定约面试够呛。 如果你要应聘后端岗位,那你第一个项目竟然是仿写操作系统。这个你要面试官咋问你。你一定要记住一点,你简历上写的所有的东西,都是为了证明你有能力胜任当前的岗位,而不是为了证明你自己会什么。 如果你只是浅浅的做几个项目,描述也都是烂大街。技术点也都是各种混水类的配置类需求,那你就不要幻想自己能走多远。一定要保持思考,保持学习。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务