Submission #900640

#TimeUsernameProblemLanguageResultExecution timeMemory
900640karamkallasiFancy Fence (CEOI20_fancyfence)C++17
0 / 100
15 ms51944 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] ; for(ll i=0 ; i<n ; i++){ sum +=b[i]; } for(ll i=0 ; i<n ; i++){ if(a[i]==2){ x +=b[i] ; x %= oo ; } else { g = ( x * (x+1) ) % oo ; ans+= g ; x = 0 ; } } if(x){ g = ( x * (x+1) ) % oo ; ans+= g ; } // cout << ans <<' '<<sum << ' '; g = ( sum * (sum+1) ) % oo ; g /= 2; cout << ans + 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...