首页 > 其他分享 >hey_left 6 Codeforces Round 886 (Div. 4)

hey_left 6 Codeforces Round 886 (Div. 4)

时间:2024-01-18 14:58:07浏览次数:20  
标签:10 886 int hey Codeforces solve ans left

题目链接

A.

判总和-最小值的差是否大等于10即可

#include <bits/stdc++.h>
using namespace std;

const int N=2e5+10;

void solve(){
    int a,b,c;cin>>a>>b>>c;
    int ans=a+b+c;
    ans-=min({a,b,c});
    if(ans>=10){
        cout<<"YES"<<'\n';
    }else cout<<"NO"<<'\n';
}

signed main(){
    int hey_left=1;
    cin>>hey_left;
    while(hey_left--) {
        solve();
    }
    return 0;
}

B.

在小等于10的里面找质量最大的
遍历一遍即可

#include <bits/stdc++.h>
using namespace std;

const int N=2e5+10;

void solve(){
    int n;cin>>n;
    int ma=-1,ans=-1;
    for(int i=1,a,b;i<=n;i++){
        cin>>a>>b;
        if(a<=10){
            if(b>=ma){
                ma=b;
                ans=i;
            }
        }
    }
    cout<<ans<<'\n';
}

signed main(){
    int hey_left=1;
    cin>>hey_left;
    while(hey_left--) {
        solve();
    }
    return 0;
}

C.

把图输入后,按列遍历,把不是'.'的push进一个字符串里,输出字符串

#include <bits/stdc++.h>
using namespace std;

const int N=2e5+10;

char g[10][10];
void solve(){
    for(int i=1;i<=8;i++){
        for(int j=1;j<=8;j++){
            cin>>g[i][j];
        }
    }
    string s="";
    for(int i=1;i<=8;i++){
        for(int j=1;j<=8;j++){
            if(g[j][i]!='.')s.push_back(g[j][i]);
        }
    }
    cout<<s<<'\n';
}

signed main(){
    int hey_left=1;
    cin>>hey_left;
    while(hey_left--) {
        solve();
    }
    return 0;
}

D.

先升序排序,然后求最大的连续的满足条件的子序列的长度x
答案为总数-x

#include <bits/stdc++.h>
using namespace std;

const int N=2e5+10;
int a[N];
void solve(){
    int n,k;cin>>n>>k;
    for(int i=1;i<=n;i++)cin>>a[i];
    sort(a+1,a+1+n);
    int ma=1,tmp=1;
    for(int i=2;i<=n;i++){
        if(a[i]-a[i-1]<=k){
            tmp++;
        }else{
            ma=max(ma,tmp);
            tmp=1;
        }
        if(i==n){
            ma=max(ma,tmp);
        }
    }
    ma=n-ma;
    cout<<ma<<'\n';
}

signed main(){
    int hey_left=1;
    cin>>hey_left;
    while(hey_left--) {
        solve();
    }
    return 0;
}

E.

二分边框长度,看是否满足
数据过大,需要__int128,wa了好多发

#include <bits/stdc++.h>
using namespace std;

const int N=2e5+10;
#define int long long
int a[N];
__int128 s[N];
void solve(){
    int n,c;cin>>n>>c;
    for(int i=1;i<=n;i++){
        cin>>a[i];s[i]=a[i];
    }
    __int128 l=0,r=1e18,mid;
    __int128 ans=0;
    while(l<=r){
        mid=(l+r)/2;
        int sum=c;
        //cout<<"sum="<<sum<<'\n';
        bool f=0;
        for(int i=1;i<=n;i++){
            if(sum-(s[i]+2*mid)*(s[i]+2*mid)<0){
                f=1;
                break;
            }
            sum-=(s[i]+2*mid)*(s[i]+2*mid);
        }
      //  cout<<"sum="<<sum<<'\n';
        if(f==1)r=mid-1;
        else if(sum==0){
            ans=mid;
            break;
        }
        else l=mid+1;
    }
    cout<<(int)(ans)<<'\n';
}

signed main(){
    int hey_left=1;
    cin>>hey_left;
    while(hey_left--) {
        solve();
    }
    return 0;
}

标签:10,886,int,hey,Codeforces,solve,ans,left
From: https://www.cnblogs.com/wwww-/p/17971046

相关文章

  • CodeForces 986F Oppa Funcan Style Remastered
    洛谷传送门CF传送门有意思的。对\(k\)分解质因数,题目实际上是想让我们解一个\(\sum\limits_{i=1}^ma_ix_i=n\)的方程。考虑\(m=1\)特判,\(m=2\)exgcd。\(m=3\)时发现\(\min\limits_{i=1}^ma_i\lek^{\frac{1}{3}}\le10^5\),所以可以跑同余最短路。......
  • CodeForces 814E An unavoidable detour for home
    洛谷传送门CF传送门考虑给图分层,一层的点一一对应上一层的一些点。设\(f_{i,j}\)为考虑了前\(i\)个点,最后一层有\(j\)个点,除了最后一层点的其他点度数限制已经满足的方案数。转移系数是\(g_{i,j,k}\)表示这一层有\(i\)个点,上一层有\(j\)个\(2\)度点,\(k\)个......
  • Codeforces Round 920 (Div. 3)
    题目链接:CodeforcesRound920(Div.3)PS:很长时间没写题,状态不好,写的很差A.Square题意:给出正方形四个点的坐标,求面积解题思路:签到查看代码 voidsolve(){ vector<PII>v; for(inti=1;i<=4;i++){ intx,y; cin>>x>>y; v.push_back({x,y}); } sort......
  • hey_left 5 Codeforces Round 898 (Div. 4)
    题目链接A.一次交换,最多让两个字符归位若三个字符都不在该在的位置上,那么无法完成若有一个字符在该在的位置上,那么可以完成usingnamespacestd;voidsolve(){chara,b,c;cin>>a>>b>>c;if(a=='a'||b=='b'||c=='c'){cout<<"YES"<<&......
  • hey_left 4 Codeforces Round 898 (Div. 4) 续
    题目链接F.先把序列分割成一个个满足条件的子序列然后二分长度,去判断子序列是否满足长度,若有一个满足,这个答案可行,判断更长的长度debug:存下的子序列忽略了单个元素,单个元素也是一个子序列,把每个元素单独作为一个子序列后可以ac题解有更简单的做法,双指针,直接遍历一遍得到答案......
  • Codeforces Round 920 (Div. 3)补题D~F
    CodeforcesRound920(Div.3)D.思路取a最大和c最小的或c最小和a最大的匹配ac代码#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;consti64inf=8e18;typedefpair<int,int>pii;constintmod=1e9+7;constintN=2e6+10;voidso......
  • Codeforces Round 861 (Div. 2)
    CodeforcesRound861(Div.2)C题直接数位dp即可#include<cstdio>#include<algorithm>#include<cstring>#include<map>#include<queue>#include<bitset>#include<cmath>#include<set>#include<unordered_map>#def......
  • Codeforces Round 920 (Div. 3)
    CodeforcesRound920(Div.3)A-Square#include<bits/stdc++.h>#defineendl'\n'#defineintlonglongusingnamespacestd;constintN=5e5+10;voidsolve(){ map<int,int>x; map<int,int>y; ......
  • Codeforces Round 920 (Div. 3)
    目录写在前面ABCDEFG写在最后写在前面比赛地址:https://codeforces.com/contest/1921写完C题去泡了个面边吃边看D,吃着吃着不对劲味儿怎么这么冲一看过期两个月了我草以及div3都AK不了了呃呃博弈论把我鲨了还剩最后一门近代史,周四才考,开摆!感觉除了离散可能有点拉其他都......
  • Codeforces Round 920 (Div. 3)
    基本情况A、C秒的很快。B、D都错了一发才过。E博弈论属于是短板。E.EattheChipProblem-E-Codeforces首先考虑谁可能赢。因为\(Alice\)只能向下,\(Bob\)只能向上,而\(Alice\)先手。显然两者行差为奇数时\(Alice\)有可能赢,偶数时\(Bob\)有可能赢。再考虑平......