QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#472765#6532. Tradingmufeng12#WA 255ms3744kbC++231.7kb2024-07-11 19:09:172024-07-11 19:09:17

Judging History

你现在查看的是最新测评结果

  • [2024-07-11 19:09:17]
  • 评测
  • 测评结果:WA
  • 用时:255ms
  • 内存:3744kb
  • [2024-07-11 19:09:17]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define ld long double
#define inf 0x3f3f3f3f
#define all(x) (x).begin(),(x).end()
#define maxint INT32_MAX
#define minint INT32_MIN
#define maxll INT64_MAX
#define minll INT64_MIN
#define mod  998244353
#define nc() (p1==p2 && (p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++)
#pragma GCC optimize(2)
void write(int x);
ll c[120][120];
char *p1,*p2,buf[100000];
int read();
const int N=1e5+10;
int fact[N],infact[N];
struct node{
    int v,n;
    bool operator < (const node& b) const{
        return v<b.v;
    }
};
void solve(){
    ll n;
    cin>>n;
    vector<node> a(n+1);
    for(int i=1;i<=n;i++)
    cin>>a[i].v>>a[i].n;
    sort(a.begin()+1,a.end());
    ll ans=0;
    int l=1,r=n;
    while(l<r){
        int mins=min(a[l].n,a[r].n);
        ans+=(a[r].v-a[l].v)*mins;
        a[l].n-=mins,a[r].n-=mins;
        if(a[l].n==0) l++;
        if(a[r].n==0) r--;
    }
    cout<<ans<<endl;
    return;
}

int main() {
    int t=1;
    cin>>t;
    while(t--) solve();
    return 0;
}



void write(int x)
{
    if(x<0)
        putchar('-'),x=-x;
    if(x>9)
        write(x/10);
    putchar(x%10+'0');
    return;
}
int read()
{
    int x=0,f=1;
    char ch=nc();
    while(ch<48||ch>57)
    {
        if(ch=='-')
            f=-1;
        ch=nc();
    }
    while(ch>=48&&ch<=57)
        x=x*10+ch-48,ch=nc();
   	return x*f;
}
// ll ksm(ll a,ll b,ll mod){
//     ll ans=1;
//     a%=mod;
//     while(b>0){
//         if(b&1) ans=ans*a%mod;
//         a=a*a%mod;
//         b>>=1;
//     }
//     return ans;
// }

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3744kb

input:

2
4
10 2
30 7
20 4
50 1
2
1 100
1 1000

output:

100
0

result:

ok 2 number(s): "100 0"

Test #2:

score: -100
Wrong Answer
time: 255ms
memory: 3560kb

input:

100000
8
567091 283679
875020 918237
314684 148083
456411 304598
766056 882388
135371 326501
578773 250140
221306 874117
5
126777 129517
846433 679825
649281 330021
427768 362636
390068 692169
5
657677 231119
941936 991342
901241 15133
660372 970476
698958 209343
10
478657 163635
752788 819629
82110...

output:

-744919867
-2400664259
-1134720638
-1210578816
-1601339592
-96866416
1385928560
3938969176
1372696906
-7440491420
161170200
2008824615
-4685763516
-2776348872
0
-22761517
2255434397
-2275224070
3845990352
1846443908
5397242676
2747831516
-774885684
0
726882555
-2551834687
1629150693
-1888470433
7519...

result:

wrong answer 1st numbers differ - expected: '974212656325', found: '-744919867'