Submission #577533

#TimeUsernameProblemLanguageResultExecution timeMemory
577533juggernautFancy Fence (CEOI20_fancyfence)C++14
13 / 100
18 ms1856 KiB
#include<bits/stdc++.h> #define fr first #define sc second using namespace std; typedef long long ll; typedef long double ld; #define USING_ORDERED_SET 0 #if USING_ORDERED_SET #include<bits/extc++.h> using namespace __gnu_pbds; template<class T>using ordered_set=tree<T,null_type,less<T>,rb_tree_tag,tree_order_statistics_node_update>; #endif template<class T>void umax(T &a,T b){if(a<b)a=b;} template<class T>void umin(T &a,T b){if(b<a)a=b;} #ifdef juggernaut #define printl(args...) printf(args) #else #define printl(args...) 0 #endif int h[100005]; int w[100005]; ll pref[100005]; int n; ll mod=1e9+7; const ll cn=(mod+1)/2; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++)scanf("%d",&h[i]); for(int i=1;i<=n;i++){ scanf("%d",&w[i]); pref[i]=pref[i-1]; pref[i]+=w[i]; } ll ans=pref[n]%mod*((pref[n]+1)%mod)%mod*cn%mod; n++; pref[n]=pref[n-1]; h[n]=1; ll carry=0; for(int i=1;i<=n;i++){ if(h[i]==2)carry+=w[i]; else{ if(!carry)continue; ans+=carry%mod*((carry+1)%mod); ans%=mod; carry=0; } } cout<<ans; }

Compilation message (stderr)

fancyfence.cpp: In function 'int main()':
fancyfence.cpp:27:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   27 |  scanf("%d",&n);
      |  ~~~~~^~~~~~~~~
fancyfence.cpp:28:28: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   28 |  for(int i=1;i<=n;i++)scanf("%d",&h[i]);
      |                       ~~~~~^~~~~~~~~~~~
fancyfence.cpp:30:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   30 |   scanf("%d",&w[i]);
      |   ~~~~~^~~~~~~~~~~~
#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...