162472025-04-15 20:04:32RRoliModern Artcpp17Wrong answer 5/10010ms1044 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	int n;
    cin >> n;
    vector<pair<pair<int,int>,int>> v(n), sor;
    vector<int> pos(n), size(n);
    for(int i = 0; i < n; i++) cin >> pos[i];
    for(int i = 0; i < n; i++) cin >> size[i];
    for(int i = 0; i < n; i++) v[i] = make_pair(make_pair(pos[i]-size[i], pos[i]+size[i]), size[i]*2);
    sort(v.begin(), v.end());

    //for(auto i : v) cout << i.first.first << ' ' << i.first.second << ' ' << i.second << '\n';
    sor.push_back(v[0]);
    for(int i = 1; i < n; i++) {
        if(v[i].first.second > sor[sor.size()-1].first.second) {
            if(v[i].first.first == sor[sor.size()-1].first.first && v[i].second > sor[sor.size()-1].second) {
                sor[sor.size()-1] = v[i];
            } else if(v[i].first.first >= sor[sor.size()-1].first.second) {
                sor.push_back(v[i]);
            } else if(v[i].second >= sor[sor.size()-1].second) {
                sor[sor.size()-1].first.second = v[i].first.first;
                sor.push_back(v[i]);
            } else if(v[i].second < sor[sor.size()-1].second) {
                sor.push_back(v[i]);
                sor[sor.size()-1].first.first = sor[sor.size()-2].first.second;
            }
        }
    }

    unsigned long long s = 0;
    for(auto i : sor) s += (i.first.second-i.first.first)*i.second;//cout << i.first.first << ' ' << i.first.second << ' ' << i.second << '\n';
    cout << s;

    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms508 KiB
2Accepted1ms316 KiB
subtask25/5
3Accepted4ms564 KiB
4Accepted4ms592 KiB
5Accepted6ms564 KiB
6Accepted7ms820 KiB
7Accepted8ms964 KiB
8Accepted7ms604 KiB
9Accepted7ms832 KiB
10Accepted1ms316 KiB
subtask30/15
11Accepted1ms316 KiB
12Accepted1ms316 KiB
13Wrong answer1ms316 KiB
14Wrong answer1ms508 KiB
15Wrong answer1ms316 KiB
16Wrong answer1ms316 KiB
17Wrong answer1ms316 KiB
18Wrong answer1ms316 KiB
19Wrong answer1ms316 KiB
subtask40/30
20Wrong answer1ms316 KiB
21Accepted1ms316 KiB
22Accepted1ms508 KiB
23Wrong answer2ms316 KiB
24Accepted1ms316 KiB
25Wrong answer1ms408 KiB
26Accepted1ms316 KiB
27Wrong answer2ms508 KiB
28Wrong answer2ms616 KiB
subtask50/50
29Wrong answer1ms512 KiB
30Wrong answer2ms328 KiB
31Wrong answer3ms328 KiB
32Wrong answer6ms576 KiB
33Wrong answer6ms576 KiB
34Wrong answer3ms512 KiB
35Wrong answer8ms696 KiB
36Wrong answer3ms328 KiB
37Wrong answer8ms732 KiB
38Wrong answer8ms724 KiB
39Wrong answer1ms328 KiB
40Wrong answer8ms840 KiB
41Wrong answer8ms912 KiB
42Wrong answer8ms988 KiB
43Wrong answer8ms996 KiB
44Wrong answer10ms1044 KiB
45Wrong answer10ms1028 KiB