麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

【Codeforces 733 C. Epidemic in Monstropolis】+ 模擬

2019-11-14 11:24:27
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

C. Epidemic in Monstropolis time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output

There was an epidemic in Monstropolis and all monsters became sick. To recover, all monsters lined up in queue for an appointment to the only doctor in the city.

Soon, monsters became hungry and began to eat each other.

One monster can eat other monster if its weight is strictly greater than the weight of the monster being eaten, and they stand in the queue next to each other. Monsters eat each other instantly. There are no monsters which are being eaten at the same moment. After the monster A eats the monster B, the weight of the monster A increases by the weight of the eaten monster B. In result of such eating the length of the queue decreases by one, all monsters after the eaten one step forward so that there is no empty places in the queue again. A monster can eat several monsters one after another. Initially there were n monsters in the queue, the i-th of which had weight ai.

For example, if weights are [1,?2,?2,?2,?1,?2] (in order of queue, monsters are numbered from 1 to 6 from left to right) then some of the options are:

the first monster can't eat the second monster because a1?=?1 is not greater than a2?=?2;the second monster can't eat the third monster because a2?=?2 is not greater than a3?=?2;the second monster can't eat the fifth monster because they are not neighbors;the second monster can eat the first monster, the queue will be transformed to [3,?2,?2,?1,?2].

After some time, someone said a good joke and all monsters recovered. At that moment there were k (k?≤?n) monsters in the queue, the j-th of which had weight bj. Both sequences (a and b) contain the weights of the monsters in the order from the first to the last.

You are required to PRovide one of the possible orders of eating monsters which led to the current queue, or to determine that this could not happen. Assume that the doctor didn’t make any appointments while monsters were eating each other. Input

The first line contains single integer n (1?≤?n?≤?500) — the number of monsters in the initial queue.

The second line contains n integers a1,?a2,?…,?an (1?≤?ai?≤?106) — the initial weights of the monsters.

The third line contains single integer k (1?≤?k?≤?n) — the number of monsters in the queue after the joke.

The fourth line contains k integers b1,?b2,?…,?bk (1?≤?bj?≤?5·108) — the weights of the monsters after the joke.

Monsters are listed in the order from the beginning of the queue to the end. Output

In case if no actions could lead to the final queue, print “NO” (without quotes) in the only line.

Otherwise print “YES” (without quotes) in the first line. In the next n?-?k lines print actions in the chronological order. In each line print x — the index number of the monster in the current queue which eats and, separated by space, the symbol ‘L’ if the monster which stays the x-th in the queue eats the monster in front of him, or ‘R’ if the monster which stays the x-th in the queue eats the monster behind him. After each eating the queue is enumerated again.

When one monster eats another the queue decreases. If there are several answers, print any of them. Examples Input

6 1 2 2 2 1 2 2 5 5

Output

YES 2 L 1 R 4 L 3 L

Input

5 1 2 3 4 5 1 15

Output

YES 5 L 4 L 3 L 2 L

Input

5 1 1 1 3 3 3 2 1 6

Output

NO

Note

In the first example, initially there were n?=?6 monsters, their weights are [1,?2,?2,?2,?1,?2] (in order of queue from the first monster to the last monster). The final queue should be [5,?5]. The following sequence of eatings leads to the final queue:

the second monster eats the monster to the left (i.e. the first monster), queue becomes [3,?2,?2,?1,?2];the first monster (note, it was the second on the previous step) eats the monster to the right (i.e. the second monster), queue becomes [5,?2,?1,?2];the fourth monster eats the mosnter to the left (i.e. the third monster), queue becomes [5,?2,?3];the finally, the third monster eats the monster to the left (i.e. the second monster), queue becomes [5,?5].

Note that for each step the output contains numbers of the monsters in their current order in the queue.

模擬,在a[i]里查詢 == b[i]的數(shù)組區(qū)間l,r,判斷該段數(shù)組里的最大值能否左右去吃,用queue<pair < int,int > > q,記錄過(guò)程,

AC代碼:

#include<cstdio>#include<queue>#include<algorithm>using namespace std;queue <pair <int,int> > q;int a[510],b[510],nl,l;bool bc(int L,int R){ if(L == R) return true; int pl = L; for(int i = L; i <= R ; i++) if(a[pl] < a[i]) pl = i; if(pl > L && a[pl] > a[pl - 1]){ for(int i = pl - 1; i >= L ; i--) q.push(make_pair(i - L + nl + 1,'L')); for(int i = pl + 1; i <= R ; i++) q.push(make_pair(nl,'R')); return true; } while(a[pl] == a[pl + 1] && pl < R) pl++; if(pl < R && a[pl] > a[pl + 1]){ for(int i = pl + 1 ; i <= R; i++) q.push(make_pair(pl - L + nl,'R')); for(int i = pl - 1 ; i >= L ; i--) q.push(make_pair(i - L + nl + 1,'L')); return true; } return false;}int main(){ int sum = 0,N,M,ans = 0,t = 1; scanf("%d",&N); for(int i = 1 ; i <= N; i++) scanf("%d",&a[i]),sum += a[i]; scanf("%d",&M); for(int i = 1 ; i <= M; i++) scanf("%d",&b[i]),sum -= b[i]; l = 1,nl = 1; for(int i = 1 ; i <= N; i++){ ans += a[i]; if(ans == b[t]){ ans = 0; if(bc(l,i)) l = i + 1,nl++,t++;//printf("%d/n",l); else{ printf("NO/n");return 0; } } } if(!sum && t == M + 1){ printf("YES/n"); while(!q.empty()) printf("%d %c/n",q.front().first,q.front().second),q.pop(); } else printf("NO/n"); return 0;}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 99视频有精品视频高清 | chinesexxxx极品少妇 | 国产噜噜噜| 91 在线视频观看 | 高清成人在线 | 国产91片| 成人18网站| av黄色片网站 | 国产1区2区3区在线观看 | 午夜精品成人一区二区 | 久久精品亚洲欧美日韩精品中文字幕 | 美国一级毛片片aa久久综合 | 亚洲一级簧片 | 色视频在线观看 | 亚洲一区在线观看视频 | 黄网站免费入口 | 在线成人毛片 | 久久福利剧场 | 亚洲五码在线观看视频 | 国产一级片91 | 中文字幕在线视频网站 | 欧美精品久久久久久久多人混战 | 中文字幕在线免费看 | 国产亚洲精品一区二区三区 | 中文字幕在线第二页 | 毛片免费在线观看 | 黄色一级片在线免费观看 | 国产精品www | 男人午夜视频 | 欧美一级久久 | 久久久久国产成人精品亚洲午夜 | 久久久久一本一区二区青青蜜月 | 九九热在线视频观看 | 天天干导航 | 精品国产99久久久久久宅男i | 中文字幕在线看第二 | 久久精品视频16 | www.com超碰| 亚洲欧美日韩久久精品第一区 | 爱福利视频网 | 视频一区二区三区在线 |