Codeforces_733_C
http://codeforces.com/problemset/problem/733/C
从后往前一个个b对应一组组a。
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std; int n,k,a[],b[],ans[];
char c[]; int main()
{
int sum1 = ,sum2 = ,cnt = ;
scanf("%d",&n);
for(int i = ;i <= n;i++)
{
scanf("%d",&a[i]);
sum1 += a[i];
}
scanf("%d",&k);
for(int i = ;i <= k;i++)
{
scanf("%d",&b[i]);
sum2 += b[i];
}
if(sum1 != sum2)
{
printf("NO\n");
return ;
}
int r = n,l = r;
for(int i = k;i >= ;i--)
{
for(;l >= ;l--)
{
if(b[i] > a[l]) b[i] -= a[l];
else if(b[i] < a[l])
{
printf("NO\n");
return ;
}
else
{
if(l != r)
{
int maxx = a[r],t,flag = ;
for(int j = r;j >= l;j--)
{
if(maxx != a[j]) flag = ;
maxx = max(maxx,a[j]);
}
if(flag)
{
printf("NO\n");
return ;
}
for(int j = r;j >= l;j--)
{
if(maxx != a[j]) continue;
if(j == r && a[r-] != maxx)
{
flag = ;
for(int h = r;h > l;h--)
{
cnt++;
ans[cnt] = h;
c[cnt] = 'L';
}
break;
}
else if(j == l && a[l+] != maxx)
{
flag = ;
for(int h = l;h < r;r--)
{
cnt++;
ans[cnt] = h;
c[cnt] = 'R';
}
break;
}
else if(j != r && a[j+] != maxx)
{
flag = ;
int h;
for(h = j;h < r;r--)
{
cnt++;
ans[cnt] = h;
c[cnt] = 'R';
}
for(;h > l;h--)
{
cnt++;
ans[cnt] = h;
c[cnt] = 'L';
}
break;
}
else if(j != l && a[j-] != maxx)
{
flag = ;
int h;
for(h = j;h > l;h--,r--)
{
cnt++;
ans[cnt] = h;
c[cnt] = 'L';
}
for(;h < r;r--)
{
cnt++;
ans[cnt] = h;
c[cnt] = 'R';
}
break;
}
}
if(!flag)
{
printf("NO\n");
return ;
}
}
l--;
r = l;
break;
}
}
}
printf("YES\n");
for(int i = ;i <= cnt;i++) printf("%d %c\n",ans[i],c[i]);
return ;
}
Codeforces_733_C的更多相关文章
随机推荐
- Python 超级玛丽代码实现:人物行走和碰撞检测
功能介绍 人物行走 人物的行走速度这边分成水平方向(X轴)和竖直方向(Y轴),水平方向的速度要考虑加速度和摩擦力,竖直方向的速度要考虑重力加速度. 水平方向:设定X轴向右走的速度为大于0,向左走的速度 ...
- 物理ceph集群+K8s
前提条件 在Ceph为k8s创建一个pool ceph osd pool create k8s 128 创建admin用户 ceph auth get-or-create client.admin m ...
- 前端Tips#3 - 简写的 border-radius 100% 和 50% 是等效的
本文同步自 JSCON简时空 - 技术博客,点击阅读 视频讲解 视频地址 文字讲解 1.先讲结论 border-radius 这个 css 属性大家应该使用得非常娴熟,现实中用到的场景基本都是四个圆角 ...
- Linux中du、df显示不一致问题
Linux中du.df显示不一致问题 最近在做关于Q博士的项目的时候,用到了docker进行部署,对于后端服务可能会经常变动,于是将docker容器的jar包与宿主机目录下的jar包进行绑定,之后每次 ...
- 从N个元素中抽取K个不重复元素(抽奖问题)
核心就是 把N数组抽中的元素给K数组 把N数组最后一位给N数组被抽走的那一位(这时候N数组最后一位元素和被抽走的那位元素值相等) 把N数组长度减一,去除最后一位
- schedule of 2016-09-12~2016-09-18(Monday~Sunday)——1st semester of 2nd Grade
2016/9/12 Monday 1.send present to Teacher Wei&hu 2.make ppt for 1st database 2.0 meeting for al ...
- dp-完全背包
( 推荐 : http://blog.csdn.net/insistgogo/article/details/11081025 ) 问题描述 : 已知一个容量为 V 的背包 和 N 件物品 , 第 ...
- poj 2253 最短路 or 最小生成树
Freddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fiona Frog who is sit ...
- border-radius属性失效了Ծ‸Ծ
.btn-circle { width: 30px; height: 30px; text-align: center; padding: 4px ; font-size: 16px; font-we ...
- max count混合使用
SELECT MAX(a1.人数) FROM (SELECT COUNT(category_id) AS "人数",category_id FROM course_category ...