标签:std Educational Rated int Codeforces long solve using define
A. PizzaForces
打表就会神奇的发现规律(当时想错了错好几发)
#include "bits/stdc++.h"
#define pll __builtin_popcount
#define all(a) a.begin(),a.end()
#define pb push_back
using namespace std;
using ll = long long ;
inline void solve()
{
ll n;cin>>n;
if(n<=6){
cout<<15<<"\n";
}else{
if(n%2==0)n--;
n-=4;
n=n/2+1;
cout<<n*5+10<<"\n";
}
}
int main()
{
//freopen("out.txt","w",stdout);
//int a[]={15,15,15,15,15,15,20,20,25,25,30,30,35,35,40,40,45,45,50,50,55,55,60,60,65,65,70,70,75,75,80,80,85,85,90,90,95,95,100,100,105,105,110,110,115,115,120,120,125,125,130,130,135,135,140,140,145,145,150,150,155,155,160,160,165,165,170,170,175,175,180,180,185,185,190,190,195,195,200,200,205,205,210,210,215,215,220,220,225,225,230,230,235,235,240,240,245,245,250,250,255,255,260,260,265,265,270,270,275,275,280,280,285,285,290,290,295,295,300,300,305,305,310,310,315,315,320,320,325,325};
//for(int i=1;i<=130;i++)mp[i]=a[i-1];
ios::sync_with_stdio(false);
int T=1;
cin>>T;
while(T--)
solve();
return 0;
}
B. Two Tables
尽可能把能移动的对称到右上角不能移动的放左下角
#include "bits/stdc++.h"
#define pll __builtin_popcount
#define all(a) a.begin(),a.end()
#define pb push_back
using namespace std;
using ll = long long ;
void solve()
{
int w,h;
cin>>w>>h;
int a,b,c,d;
cin>>a>>b>>c>>d;
if(a<w-c){
int p=w-c-a;
a+=p;
c+=p;
}
if(b<h-d){
int p=h-d-b;
b+=p;
d+=p;
}
int u,v;
cin>>u>>v;
if(a<u&&b<v){
int ans=0x3f3f3f3f;
int p=u-a;
if(c+p<=w)ans=p;
p=v-b;
if(d+p<=h)ans=min(ans,p);
if(ans==0x3f3f3f3f){
cout<<"-1\n";return ;
}
cout<<(double)ans<<"\n";
return ;
}
cout<<(double)0<<"\n";
}
int main()
{
cout<<fixed<<setprecision(9);
ios::sync_with_stdio(false);
int T=1;
cin>>T;
while(T--)
solve();
return 0;
}
C. Coin Rows
题意Alice和Bob想走到2,m且Alice走过的路的权值都会变成0,Alice想让Bob走的权值的和最小,Bob与之相反问答案在二者最优的情况是多少(前缀和模拟下就行了)
#include "bits/stdc++.h"
#define pll __builtin_popcount
#define all(a) a.begin(),a.end()
#define pb push_back
using namespace std;
using ll = long long ;
ll a[3][100002];
void solve()
{
int n;
cin>>n;
for(int i=1;i<=2;i++)
for(int j=1;j<=n;j++)cin>>a[i][j];
for(int i=1;i<=2;i++)
for(int j=1;j<=n;j++)
a[i][j]+=a[i][j-1];
ll ans=1e18;
for(int i=1;i<=n;i++){
ans=min(ans,max(a[1][n]-a[1][i],a[2][i-1]-a[2][0]));
}
cout<<ans<<"\n";
}
int main()
{
//cout<<fixed<<setprecision(9);
ios::sync_with_stdio(false);
int T=1;
cin>>T;
while(T--)
solve();
return 0;
}
标签:std,Educational,Rated,int,Codeforces,long,solve,using,define 来源: https://www.cnblogs.com/qq1415584788/p/15083088.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。