Submission #900674

#TimeUsernameProblemLanguageResultExecution timeMemory
900674karamkallasiFancy Fence (CEOI20_fancyfence)C++14
0 / 100
18 ms52056 KiB
#include <bits/stdc++.h> #define T ll tt ; cin>>tt ; while(tt--) #define fast ios::sync_with_stdio(NULL); cin.tie(0); cout.tie(0); #define endl '\n' #define yes void (cout << "YES" << endl) #define no void (cout << "NO" << endl) #define pb push_back #define F first #define S second #define ld long double #define fixed(g) fixed<<setprecision(g) #define ll long long using namespace std; const ll N = 2e6 + 9 ; const ll oo = 1e9 + 7 ; ll n , m , k , x , y , z , g , ans , sum , sum2 , cnt , dis[N] , sz , mn , a[N] , b[N] ; bool ff , vis[N] ; queue<pair<ll , ll> >q; set<pair<ll , ll> >st; vector<pair<ll , ll> >v[N] ; int main(){ fast cin >> n ; for(ll i=0 ; i<n ; i++)cin >> a[i] ; for(ll i=0 ; i<n ; i++){ cin >> b[i] ; sum +=b[i]; sum %=oo ; } sum%=oo; for(ll i=0 ; i<n ; i++){ if(a[i]==2){ x +=b[i] ; x %= oo ; } else { x%=oo; g = ( x * (x+1) ) ; g%=oo; ans += g ; ans %= oo; x = 0 ; } } x%=oo; g = ( x * (x+1) ); g%=oo; ans += g ; ans %= oo; g = ( sum * (sum+1) ) ; g%=oo; g /= 2 ; g%=oo; g+=ans ; g%=oo; cout << g << endl ; 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...