QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#109310#6525. New Housesblack_iceWA 142ms3496kbC++141.3kb2023-05-28 11:50:072023-05-28 11:50:10

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-05-28 11:50:10]
  • 评测
  • 测评结果:WA
  • 用时:142ms
  • 内存:3496kb
  • [2023-05-28 11:50:07]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define x first
#define y second
#define endl '\n'
typedef pair<int,int> PII;
const int N = 5e5 + 10,INF = 1e18;
int T,n,m;
int a[N],b[N],c[N];

void solve()
{
    cin >> n >> m;
    vector<array<int,2>> s;
    for(int i = 1;i <= n;i++)
    {
        cin >> a[i] >> b[i];
        c[i] = b[i] - a[i];
        s.push_back({c[i],i});
    }
    if(n == 1)
    {
        cout << b[1] << endl;
        return ;
    }
    sort(s.begin(),s.end());
    reverse(s.begin(),s.end());
    int ans = 0;
    int x = 0;
    for(int i = 0;i < m - n;i++)
    {
        if(s[i][0] > 0) 
        {
            ans = ans + b[s[i][1]];
            x++;
        }
        else break;
    }
    if(x == n - 1)
    {
        if(a[s[x][1]] - b[s[x][1]] > b[s[x - 1][1]] - a[s[x - 1][1]]) 
            ans = ans + a[s[x][1]] + a[s[x - 1][1]] - b[s[x - 1][1]];
        else
            ans = ans + b[s[x][1]];
    }
    else{
        for(int i = x;i < n;i++) ans = ans + a[s[i][1]];    
    }
    cout << ans << endl;
}


signed main()
{
//	freopen("data.in","r",stdin);
// 	freopen("me.out","w",stdout);
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cin >> T;
    while(T--)
    {
        solve();
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3496kb

input:

3
4 5
1 100
100 1
100 1
100 1
2 2
1 10
1 10
2 3
100 50
1 1000

output:

400
2
1050

result:

ok 3 number(s): "400 2 1050"

Test #2:

score: -100
Wrong Answer
time: 142ms
memory: 3404kb

input:

100000
6 11
191141536 365120521
799679686 648574232
102602909 467685128
405440859 796808887
384858152 191995380
433392826 195648471
5 13
831367906 510447872
795639287 575551283
811207605 176441088
240156289 946977042
133416463 721098873
5 5
806744021 699586200
630510306 637827160
49223781 641709297
...

output:

3247545200
4106290713
2653993029
5122532137
5570513606
2031887824
2044500908
1857678917
6815058419
2237593918
6646615756
5638337819
3690874076
5497726904
5513905900
5404435094
4705403467
2411992217
3430587752
5098767681
3921151709
1445672728
2692878616
3833748807
2716183054
974485573
6464787173
8839...

result:

wrong answer 142nd numbers differ - expected: '1678267446', found: '2622127935'