比赛 noi pro 模拟赛 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 AAAC(无题面) 最终得分 100
用户昵称 胡嘉兴 运行时间 4.282 s
代码语言 C++ 内存使用 1.84 MiB
提交时间 2018-10-26 20:59:16
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
#define lowbit(x) (x&-x)
using namespace std;
const int N = 1e5+7;
ll sum[N];
int s[N], p[N];
int main()
{
    int n, m;
    freopen("AAAC.in", "r", stdin);
    freopen("AAAC.out", "w", stdout);
    scanf("%d%d", &n, &m);
    for(int i = 1; i <= n; i++)
    {
        scanf("%d%d", &s[i], &p[i]);
        sum[i] = (ll)s[i]*p[i];
    }
    for(int i = n; i >= 2; i--)
    {
        sum[i-1] = min(sum[i-1], sum[i]);
    }
    while(m--)
    {
        int q, pos;
        scanf("%d", &q);
        if(q>=s[n])
        {
            printf("%lld\n", (ll)q*p[n]);
            continue;
        }
        pos = upper_bound(s+1, s+1+n, q)-s;
        printf("%lld\n", min((ll)q*p[pos-1], sum[pos]));
    }
    return 0;
}