2015年3月14日 星期六

2015/03/14 Codeforces 522B. Photo to Remember

// http://codeforces.com/problemset/problem/522/B
#include <iostream>
#include <cstdio>

using namespace std;

typedef long long ll;

int N;
int W[300000];
int H[300000];

int SW;
int MX1, MX2;

int main()
{
    scanf("%d", &N);

    SW = MX1 = MX2 = 0;

    for(int Ni = 0; Ni < N; Ni++)
    {
        scanf("%d %d", &W[Ni], &H[Ni]);

        SW += W[Ni];

        if( H[Ni] > MX1 ) MX2 = MX1, MX1 = H[Ni];
        else if( H[Ni] > MX2 ) MX2 = H[Ni];
    }

    for(int Ni = 0; Ni < N; Ni++)
    {
        cout<<(ll)(SW-W[Ni])*(H[Ni] == MX1 ? MX2 : MX1);

        if( Ni == N-1 ) puts("");
        else printf(" ");
    }
}

沒有留言:

張貼留言