# A. Straight «A»

time limit per test:1 second

memory limit per test:256 megabytes

input:standard input

output:standard output

Noora is a student of one famous high school. It's her final year in school — she is going to study in university next year. However, she has to get an «A» graduation certificate in order to apply to a prestigious one.

In school, where Noora is studying, teachers are putting down marks to the online class register, which are integers from 1 to k. The worst mark is 1, the best is k. Mark that is going to the certificate, is calculated as an average of all the marks, rounded to the closest integer. If several answers are possible, rounding up is produced. For example, 7.3 is rounded to 7, but 7.5 and 7.8784 — to 8.

For instance, if Noora has marks [8, 9], then the mark to the certificate is 9, because the average is equal to 8.5 and rounded to 9, but if the marks are [8, 8, 9], Noora will have graduation certificate with 8.

To graduate with «A» certificate, Noora has to have mark k.

Noora got n marks in register this year. However, she is afraid that her marks are not enough to get final mark k. Noora decided to ask for help in the internet, where hacker Leha immediately responded to her request. He is ready to hack class register for Noora and to add Noora any number of additional marks from 1 to k. At the same time, Leha want his hack be unseen to everyone, so he decided to add as less as possible additional marks. Please help Leha to calculate the minimal number of marks he has to add, so that final Noora's mark will become equal to k.

Input

The first line contains two integers n and k (1 ≤ n ≤ 100, 1 ≤ k ≤ 100) denoting the number of marks, received by Noora and the value of highest possible mark.

The second line contains n integers a1, a2, ..., an (1 ≤ ai ≤ k) denoting marks received by Noora before Leha's hack.

Output

Print a single integer — minimal number of additional marks, that Leha has to add in order to change Noora's final mark to k.

Examples

Input

```2 10
8 9```

Output

`4`

Input

```3 5
4 4 4```

Output

`3`

Note

Consider the first example testcase.

Maximal mark is 10, Noora received two marks — 8 and 9, so current final mark is 9. To fix it, Leha can add marks [10, 10, 10, 10] (4 marks in total) to the registry, achieving Noora having average mark equal to

. Consequently, new final mark is 10. Less number of marks won't fix the situation.

In the second example Leha can add [5, 5, 5] to the registry, so that making average mark equal to 4.5, which is enough to have 5 in the certificate.

``` 1 #include <bits/stdc++.h>
2 using namespace std;
3 int main()
4 {
5     int n,k,m;
6     while(scanf("%d%d",&n,&k)!=EOF)
7     {
8         int sum=0;
9         for(int i=1;i<=n;i++)
10         {
11             scanf("%d",&m);
12             sum+=m;
13         }
14         int ans=0;
15         while(1)
16         {
17             if((double)sum/(ans+n)>=(double)k-0.5)
18             {
19                 cout<<ans<<endl;
20                 break;
21             }
22             sum+=k;
23             ans++;
24         }
25     }
26     return 0;
27 }```

# B. Summer sell-off

time limit per test：1 second

memory limit per test：256 megabytes

input：standard input

output：standard output

Summer holidays! Someone is going on trips, someone is visiting grandparents, but someone is trying to get a part-time job. This summer Noora decided that she wants to earn some money, and took a job in a shop as an assistant.

Shop, where Noora is working, has a plan on the following n days. For each day sales manager knows exactly, that in i-th day ki products will be put up for sale and exactly li clients will come to the shop that day. Also, the manager is sure, that everyone, who comes to the shop, buys exactly one product or, if there aren't any left, leaves the shop without buying anything. Moreover, due to the short shelf-life of the products, manager established the following rule: if some part of the products left on the shelves at the end of the day, that products aren't kept on the next day and are sent to the dump.

For advertising purposes manager offered to start a sell-out in the shop. He asked Noora to choose any f days from n next for sell-outs. On each of f chosen days the number of products were put up for sale would be doubled. Thus, if on i-th day shop planned to put up for sale ki products and Noora has chosen this day for sell-out, shelves of the shop would keep 2·ki products. Consequently, there is an opportunity to sell two times more products on days of sell-out.

Noora's task is to choose f days to maximize total number of sold products. She asks you to help her with such a difficult problem.

Input

The first line contains two integers n and f (1 ≤ n ≤ 105, 0 ≤ f ≤ n) denoting the number of days in shop's plan and the number of days that Noora has to choose for sell-out.

Each line of the following n subsequent lines contains two integers ki, li (0 ≤ ki, li ≤ 109) denoting the number of products on the shelves of the shop on the i-th day and the number of clients that will come to the shop on i-th day.

Output

Print a single integer denoting the maximal number of products that shop can sell.

Examples

Input

```4 2
2 1
3 5
2 3
1 5```

Output

`10`

Input

```4 1
0 2
0 3
3 5
0 6```

Output

`5`

Note

In the first example we can choose days with numbers 2 and 4 for sell-out. In this case new numbers of products for sale would be equal to [2, 6, 2, 2] respectively. So on the first day shop will sell 1 product, on the second — 5, on the third — 2, on the fourth — 2. In total 1 + 5 + 2 + 2 = 10 product units.

In the second example it is possible to sell 5 products, if you choose third day for sell-out.

``` 1 #include <bits/stdc++.h>
2 using namespace std;
3 typedef long long ll;
4 const ll N=100010;
5 struct Node
6 {
7     ll sum,cnt,ans;
8 }p[N];
9 bool cmp(Node a,Node b)
10 {
11     return a.ans>b.ans;
12 }
13 int main()
14 {
15     ll n,f;
16     while(scanf("%lld%lld",&n,&f)!=EOF)
17     {
18         for(ll i=1;i<=n;i++)
19             scanf("%lld%lld",&p[i].sum,&p[i].cnt);
20         ll res=0;
21         for(ll i=1;i<=n;i++)
22             res+=min(p[i].sum,p[i].cnt);
23         for(ll i=1;i<=n;i++)
24         {
25             if(p[i].sum<=p[i].cnt)
26             {
27                 p[i].cnt-=p[i].sum;
28                 p[i].ans=min(p[i].cnt,p[i].sum);
29             }
30             else
31                 p[i].ans=0;
32         }
33         sort(p+1,p+1+n,cmp);
34         for(ll i=1;i<=f;i++)
35             res+=p[i].ans;
36         cout<<res<<endl;
37     }
38     return 0;
39 }```

0 条评论

• ### 远程办公经验为0，如何将日常工作平滑过度到线上?

我是一名创业者，我的公司（深圳市友浩达科技有限公司）在2018年8月8日开始运营，现在还属于微型公司。这个春节假期，我一直十分关注疫情动向，也非常关心其对公司带来的影响。

• ### 数据中台，概念炒作还是另有奇效？ | TVP思享

作者简介：史凯，花名凯哥，腾讯云最具价值专家TVP，ThoughtWorks数据智能业务总经理。投身于企业数字化转型工作近20年。2000年初，在IBM 研发企业级中间件，接着加入埃森哲，为大型企业提供信息化架构规划，设计，ERP，云平台，数据仓库构建等技术咨询实施服务，随后在EMC负责企业应用转型业务，为企业提供云迁移，应用现代化服务。现在专注于企业智能化转型领域，是数据驱动的数字化转型的行业布道者，数据中台的推广者，精益数据创新体系的创始人，2019年荣获全球Data IQ 100人的数据赋能者称号，创业邦卓越生态聚合赋能官TOP 5。2019年度数字化转型专家奖。打造了行业第一个数据创新的数字化转型卡牌和工作坊。创建了精益数据创新方法论体系构建数据驱动的智能企业，并在多个企业验证成功，正在向国内外推广。

• ### 扩展 Kubernetes 之 CRI

使用 cri-containerd 的调用流程更为简洁, 省去了上面的调用流程的 1，2 两步

• ### 扩展 Kubernetes 之 Kubectl Plugin

kubectl 功能非常强大, 常见的命令使用方式可以参考 kubectl --help，或者这篇文章

• ### 多种登录方式定量性能测试方案

最近接到到一个测试任务，某服务提供了两种登录方式：1、账号密码登录；2、手机号+验证码登录。要对这两种登录按照一定的比例进行压测。

• ### 线程安全类在性能测试中应用

首先验证接口参数签名是否正确，然后加锁去判断订单信息和状态，处理用户增添VIP时间事务，成功之后释放锁。锁是针对用户和订单的分布式锁，使用方案是用的redis。

• ### 使用CDN(jsdelivr) 优化博客访问速度

PS: 此篇文章适用于 使用 Github pages 或者 coding pages 的朋友,其他博客也类似.

• ### 扩展 Kubernetes 之 CNI

Network Configuration 是 CNI 输入参数中最重要当部分, 可以存储在磁盘上

• ### 聚焦【技术应变力】云加社区沙龙online重磅上线！

云加社区结合特殊时期热点，挑选备受关注的音视频流量暴增、线下业务快速转线上、紧急上线防疫IoT应用等话题，邀请众多业界专家，为大家提供连续十一天的干货分享。从视野、预判、应对等多角度，帮助大家全面提升「技术应变力」！

• ### 京东购物小程序购物车性能优化实践

它是小程序开发工具内置的一个可视化监控工具，能够在 OS 级别上实时记录系统资源的使用情况。