Submission #394960

#TimeUsernameProblemLanguageResultExecution timeMemory
394960Pichon5Fancy Fence (CEOI20_fancyfence)C++17
0 / 100
1 ms204 KiB
#include<bits/stdc++.h> #define lcm(a,b) (a/__gcd(a,b))*b #define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); #define ll long long int #define vi vector<int> #define vll vector<ll> #define pb push_back #define F first #define S second #define mp make_pair //salida rapida "\n" //DECIMALES fixed<<sp(n)<<x<<endl; //gcd(a,b)= ax + by //lCB x&-x //set.erase(it) - ersases the element present at the required index//auto it = s.find(element) //set.find(element) - iterator pointing to the given element if it is present else return pointer pointing to set.end() //set.lower_bound(element) - iterator pointing to element greater than or equal to the given element //set.upper_bound(element) - iterator pointing to element greater than the given element // | ^ //__builtin_popcount(x) using namespace std; const ll MOD=1e9+7; vll h,w; ll bin(ll x){ return ((x*(x+1))/2)%MOD; } ll T(ll x,ll y){ return (bin(x)%MOD*bin(y)%MOD)%MOD; } int main() { int n,x; cin>>n; ll y; for(int i=0;i<n;i++){ cin>>x; y=x; h.pb(x); } ll sum=0; for(int i=0;i<n;i++){ cin>>x; sum+=x;sum%=MOD; w.pb(x); } ll res=T(1,sum); sum=0; for(int i=0;i<n;i++){ if(h[i]==2){ sum+=w[i]; }else{ res+=T(sum,2);res%=MOD; res-=T(sum,1);res%=MOD; sum=0; } } res+=T(sum,2);res%=MOD; res-=T(sum,1);res%=MOD; cout<<res<<endl; return 0; }

Compilation message (stderr)

fancyfence.cpp: In function 'int main()':
fancyfence.cpp:34:8: warning: variable 'y' set but not used [-Wunused-but-set-variable]
   34 |     ll y;
      |        ^
#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...