162472025-04-15 20:04:32RRoliModern Artcpp17Hibás válasz 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms508 KiB
2Elfogadva1ms316 KiB
subtask25/5
3Elfogadva4ms564 KiB
4Elfogadva4ms592 KiB
5Elfogadva6ms564 KiB
6Elfogadva7ms820 KiB
7Elfogadva8ms964 KiB
8Elfogadva7ms604 KiB
9Elfogadva7ms832 KiB
10Elfogadva1ms316 KiB
subtask30/15
11Elfogadva1ms316 KiB
12Elfogadva1ms316 KiB
13Hibás válasz1ms316 KiB
14Hibás válasz1ms508 KiB
15Hibás válasz1ms316 KiB
16Hibás válasz1ms316 KiB
17Hibás válasz1ms316 KiB
18Hibás válasz1ms316 KiB
19Hibás válasz1ms316 KiB
subtask40/30
20Hibás válasz1ms316 KiB
21Elfogadva1ms316 KiB
22Elfogadva1ms508 KiB
23Hibás válasz2ms316 KiB
24Elfogadva1ms316 KiB
25Hibás válasz1ms408 KiB
26Elfogadva1ms316 KiB
27Hibás válasz2ms508 KiB
28Hibás válasz2ms616 KiB
subtask50/50
29Hibás válasz1ms512 KiB
30Hibás válasz2ms328 KiB
31Hibás válasz3ms328 KiB
32Hibás válasz6ms576 KiB
33Hibás válasz6ms576 KiB
34Hibás válasz3ms512 KiB
35Hibás válasz8ms696 KiB
36Hibás válasz3ms328 KiB
37Hibás válasz8ms732 KiB
38Hibás válasz8ms724 KiB
39Hibás válasz1ms328 KiB
40Hibás válasz8ms840 KiB
41Hibás válasz8ms912 KiB
42Hibás válasz8ms988 KiB
43Hibás válasz8ms996 KiB
44Hibás válasz10ms1044 KiB
45Hibás válasz10ms1028 KiB