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的更多相关文章

随机推荐

  1. Java基础知识学习(一)--引用

    1.概念 如果一个变量的类型为类类型,而非基本类型,那么该变量就叫做引用:   2.对象引用 new Person(); 如上,代表创建了一个对象,但也仅仅是创建了,并没有办法去访问它.   为了访问 ...

  2. Selenium python爬虫

    Selenium + Python3 爬虫 准备工作 Chrome驱动下载地址(可正常访问并下载),根据自己chrome的版本下载 Chrome版本 下载地址 78 https://chromedri ...

  3. springboot多环境(dev,test,prod)配置

    前情提要 在我们开发工作中,常常因为配置的问题,搞得头昏脑大.开发环境.测试环境.配置各不相同,数据库.redis.注册中心等等参数都不一致,如果放在同一个配置文件,就会发现诸多注释,发布不同的环境, ...

  4. Qt5学习(1)

    1. In Qt, if you want to apply styles to the main window  itself, you must apply it to  its central ...

  5. Could not write JSON: Infinite recursion (StackOverflowError);

    转自:https://blog.csdn.net/east123321/article/details/80435051 在controller返回数据到统一json转换的时候,出现了json inf ...

  6. Linux 学习笔记 6 搭建nginx 实现二级域名访问

    前言 在前一节的内容里面,我们学习了如何使用yum 包管理工具来安装我们需要的软件,这节内容,通过搭建Nginx 反向代理服务器,以及学习服务的配置等内容. NGINX Nginx是一款轻量级的Web ...

  7. 抽象工厂模式(C++)

    #include <iostream> using namespace std; class Fruit { public: ; }; class AbstractFactory { pu ...

  8. 基于 HTML5 + WebGL 的3D无人机 展示

    前言 近年来,无人机的发展越发迅速,既可民用于航拍,又可军用于侦察,涉及行业广泛,也被称为“会飞的照相机”.但作为军事使用,无人机的各项性能要求更加严格.重要.本系统则是通过 Hightopo 的   ...

  9. Asp.Net Core 学习教程1、初始.Net Core与VS Code 第一个web程序

    1..Net Core介绍 .NET Core是.NET Framework的新一代版本, 是微软开发的第一个具有跨平台(Windows.Macosx.Linux) 能力的应用程序开发框架,未来也将会 ...

  10. vuex使用面板报 Unexpected token错误

    Module build failed: SyntaxError: D:/frontend/webtest/src/components/mutations.vue: Unexpected token ...