CF367C.Sereja and the Arrangement of Numbers

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Let's call an array consisting of nn integer numbers a1a_{1} , a2a_{2} , ...... , ana_{n} , beautiful if it has the following property:

  • consider all pairs of numbers x,yx,y (xy)(x≠y) , such that number xx occurs in the array aa and number yy occurs in the array aa ;
  • for each pair x,yx,y must exist some position jj (1<=j<n) , such that at least one of the two conditions are met, either aj=x,aj+1=ya_{j}=x,a_{j+1}=y , or aj=y,aj+1=xa_{j}=y,a_{j+1}=x .

Sereja wants to build a beautiful array aa , consisting of nn integers. But not everything is so easy, Sereja's friend Dima has mm coupons, each contains two integers qi,wiq_{i},w_{i} . Coupon ii costs wiw_{i} and allows you to use as many numbers qiq_{i} as you want when constructing the array aa . Values qiq_{i} are distinct. Sereja has no coupons, so Dima and Sereja have made the following deal. Dima builds some beautiful array aa of nn elements. After that he takes wiw_{i} rubles from Sereja for each qiq_{i} , which occurs in the array aa . Sereja believed his friend and agreed to the contract, and now he is wondering, what is the maximum amount of money he can pay.

Help Sereja, find the maximum amount of money he can pay to Dima.

输入格式

The first line contains two integers nn and mm (1<=n<=2106,1<=m<=105)(1<=n<=2·10^{6},1<=m<=10^{5}) . Next mm lines contain pairs of integers. The ii -th line contains numbers qi,wiq_{i},w_{i} (1<=qi,wi<=105)(1<=q_{i},w_{i}<=10^{5}) .

It is guaranteed that all qiq_{i} are distinct.

输出格式

In a single line print maximum amount of money (in rubles) Sereja can pay.

Please, do not use the %lld specifier to read or write 64-bit integers in С++. It is preferred to use the cin, cout streams or the %I64d specifier.

输入输出样例

  • 输入#1

    5 2
    1 2
    2 3
    

    输出#1

    5
    
  • 输入#2

    100 3
    1 2
    2 1
    3 1
    

    输出#2

    4
    
  • 输入#3

    1 2
    1 1
    2 100
    

    输出#3

    100
    

说明/提示

In the first sample Sereja can pay 55 rubles, for example, if Dima constructs the following array: [1,2,1,2,2][1,2,1,2,2] . There are another optimal arrays for this test.

In the third sample Sereja can pay 100100 rubles, if Dima constructs the following array: [2][2] .

首页