自从上个月得了麦粒肿,又遇上入D的一系列麻烦事儿,心态爆炸,状态开始摆烂,摆完蓝桥杯,摆完昆明站,终于在这几天感觉状态逐渐好转。。。
冲冲冲!
Problem - A - Codeforces
#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<cstring>
#include<string>
#include<queue>
using namespace std;
int main()
{
cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
int t;
cin>>t;
while(t--)
{
int a,b;
cin>>a>>b;
if((a==1&&b>2)||(a>2&&b==1)) cout<<"-1"<<endl;
else
{
if(a<b) swap(a,b);
int sum=(b-1)*2;
sum+=(a-b)/2*4+(a-b)%2*1;
cout<<sum<<endl;
}
}
return 0;
}
Problem - B - Codeforces
永远第一发wa在没开long long
吃一一一一一一一一一一一一一一一一一一一一······堑长一智
#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<cstring>
#include<string>
#include<queue>
using namespace std;
typedef long long LL;
LL a[200200];
int main()
{
cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
int t;
cin>>t;
while(t--)
{
LL n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)
cin>>a[i];
sort(a+1,a+1+n);
reverse(a+1,a+1+n);
LL sum=a[1]+1;
for(int i=1;i<n;i++)
sum+=a[i]+1;
//cout<<sum<<endl;
if(m>=sum) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}
Problem - C - Codeforces
长知识了:
0x3f3f3f3f还是在int的范围内,如果遇上long long,开1e18才能拿下
(wa了四五发留下的惨痛教训,还好debug成功了,不然彻夜无眠应该是会)
#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<cstring>
#include<string>
#include<queue>
using namespace std;
typedef long long LL;
LL a[200200];
int main()
{
cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
LL n;
cin>>n;
for(LL i=1;i<=n;i++)
cin>>a[i];
LL minn=1e18;
LL flag=0;
while(flag<=n)
{
LL sum=0,last=0;
for(LL i=flag+1;i<=n;i++)
{
if(a[i]>last) sum++,last=a[i];
else
{
LL num=last/a[i]+1;
sum+=num,last=num*a[i];
}
}
last=0;
for(LL i=flag-1;i>=1;i--)
{
if(a[i]>last) sum++,last=a[i];
else
{
LL num=last/a[i]+1;
sum+=num,last=num*a[i];
}
}
minn=min(sum,minn);
flag++;
}
cout<<minn<<endl;
return 0;
}
加油!