Submission #1238975

#TimeUsernameProblemLanguageResultExecution timeMemory
1238975chikien2009Fancy Fence (CEOI20_fancyfence)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h>

using namespace std;

void setup()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
}

int n;
long long res, mod = 1e9 + 7, last, a, b, c;
pair<int, int> p[100000];
map<int, long long> val;

int main()
{
    setup();
    
    cin >> n;
    for (int i = 0; i < n; ++i)
    {
        cin >> p[i].first;
    }
    for (int i = 0; i < n; ++i)
    {
        cin >> p[i].second;
        c += p[i].second;
        (val[p[i].first] += p[i].second) %= mod;
    }
    for (auto & i : val)
    {
        a = (c * (c + 1) / 2) % mod;
        b = (i.first * (i.first + 1) / 2 - last * (last + 1) / 2) % mod;
        (res += a * b) %= mod;
        c -= i.second;
        last = i.first;
    }
    cout << res;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...