题解 AT2333 【[ARC069A] Scc Puzzle】

· · 题解

c++最短题解!

其实主要就一句话min(n+m/2,m)/2,我们按运算顺序讲。

m/2cS

n+m/2再加上S的个数。

min(n+m/2,m)和不拼的c的个数比较,取最小。

min(n+m/2,m)/2最后除以2,大功告成!

#include<bits/stdc++.h> //万能头
//#include<iostream>    cin cout的库
//#include<cstdio>  min的库
using namespace std;    
int main()
{
    long long n,m;  //定义,要开long long !
    cin>>n>>m;  //输入
    cout<<min(n+m/2,m)/2;   //最关键的一步!
    return 0;   //结束
} 

压行版( 可读性极差 ):

#include<bits/stdc++.h>
int main(){long long n,m;std::cin>>n>>m;std::cout<<min(n+m/2,m)/2;}