# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
592113 | 2022-07-08T13:59:55 Z | jasmin | Fancy Fence (CEOI20_fancyfence) | C++14 | 30 ms | 4424 KB |
#include<bits/stdc++.h> using namespace std; #define int long long const int mod=1e9+7; signed main(){ ios_base::sync_with_stdio(false); cin.tie(0); int n; cin >> n; vector<int> h(n); map<int,int> ind; int x=1; vector<pair<int, vector<int> > >sorted; sorted.push_back({0, {}}); for(int i=0; i<n; i++){ cin >> h[i]; if(ind[h[i]]==0){ sorted.push_back({h[i], {}}); ind[h[i]]=x; x++; } sorted[ind[h[i]]].second.push_back(i); } sort(sorted.begin(), sorted.end()); reverse(sorted.begin(), sorted.end()); vector<int> w(n); for(int i=0; i<n; i++){ cin >> w[i]; } vector<int> a(n+1); int ans=0; for(int i=0; i<sorted.size()-1; i++){ int h=sorted[i].first; int next=sorted[i+1].first; vector<int> ele=sorted[i].second; for(auto e: ele){ a[e]=w[e]; } int s=0; __int128_t mom=0; for(int j=0; j<=n; j++){ if(a[j]==0){ s+=((mom*(mom+1))/2)%mod; mom=0; } mom+=(__int128_t)a[j]; if((__int128_t)(mod*2)<=mom){ mom%=(__int128_t)mod; } } int factor=((h*(h+1))/2 - (next*(next+1))/2)%mod; ans+=(s*factor)%mod; } cout << ans << "\n"; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 212 KB | Output is correct |
2 | Incorrect | 10 ms | 472 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 212 KB | Output is correct |
2 | Correct | 1 ms | 212 KB | Output is correct |
3 | Correct | 0 ms | 212 KB | Output is correct |
4 | Correct | 0 ms | 212 KB | Output is correct |
5 | Correct | 0 ms | 212 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 212 KB | Output is correct |
2 | Incorrect | 1 ms | 340 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 340 KB | Output is correct |
2 | Correct | 3 ms | 596 KB | Output is correct |
3 | Correct | 11 ms | 2408 KB | Output is correct |
4 | Correct | 21 ms | 4400 KB | Output is correct |
5 | Correct | 24 ms | 4368 KB | Output is correct |
6 | Correct | 0 ms | 212 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 1 ms | 340 KB | Output is correct |
3 | Correct | 2 ms | 724 KB | Output is correct |
4 | Correct | 10 ms | 2388 KB | Output is correct |
5 | Correct | 20 ms | 4304 KB | Output is correct |
6 | Correct | 30 ms | 4424 KB | Output is correct |
7 | Incorrect | 5 ms | 468 KB | Output isn't correct |
8 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 232 KB | Output is correct |
2 | Incorrect | 8 ms | 468 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 212 KB | Output is correct |
2 | Incorrect | 10 ms | 472 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |