悬关求助,求hack,昨晚的CF,C2
  • 板块学术版
  • 楼主SakurajiamaMai
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/3/31 17:22
  • 上次更新2024/3/31 20:11:02
查看原帖
悬关求助,求hack,昨晚的CF,C2
784813
SakurajiamaMai楼主2024/3/31 17:22

思路是先选空的个数为奇数的点,剩下的点贡献*2即可,不过wa 3了,一个大数据没过去,这是为什么捏,求大佬

这是题目链接: here

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e6+10,mod=1e9+7;
void solve(){
    int n,x,y; cin>>n>>x>>y;
    vector<int>a;
    for(int i=1;i<=x;i++){
        int x; cin>>x;
        a.push_back(x);
    }
    int res=x-2;
    sort(a.begin(),a.end());
    for(int i=1;i<x;i++){
        int now=a[i]-a[i-1]-1;
        if(now%2&&y>=now/2) y-=now/2,res+=now;
    }
    int now=a[0]+n-a[x-1]-1;
    if(now%2&&y>=now/2) y-=now/2,res+=now;
    if(y>0) res+=y*2;
    cout<<min(res,n-2)<<endl;
}
signed main(){
    std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);int t;cin>>t;while(t--)solve();
}
2024/3/31 17:22
加载中...