# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
598272 | _Avocado_ | Fancy Fence (CEOI20_fancyfence) | C++14 | 49 ms | 6656 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define int int64_t
using namespace std;
int mod = 1e9+7;
int ans = 0;
int sum(int n){
n %= mod;
return (((n*(n+1)))/2)%mod;
}
int find(int a, auto&par){
if(a == par[a]) return a;
return par[a] = find(par[a], par);
}
void unite(int a, int b, int h, auto&par, auto&w){
a = find(a, par);
b = find(b, par);
int minus = (((sum(w[a]) * sum(h))%mod) + (sum(w[b]) * sum(h)))%mod;
//cout<<"minus "<<minus<<endl;
ans = (ans + ((sum(w[a] + w[b]) * sum(h))%mod - minus + mod)%mod)%mod;
par[b] = a;
w[a] = (w[a] + w[b])%mod;
}
signed main(){
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |