Submission #1107073

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
11070732024-10-31 14:14:08vjudge1Flooding Wall (BOI24_wall)C++17
44 / 100
1446 ms1048576 KiB
#include<bits/stdc++.h>
#define fori(i,a,b) for(int i=a;i<=b;i++)
#define int long long
#define pb push_back
using namespace std;
typedef pair<int,int> ii;
typedef tuple<int,int,int> tp;
const int mod=1e9+7;
const int M=5e5+10;
int n,a[M],b[M];
namespace sub1
{
const int M=30;
int x[M],y[M],kq=0;
void ktra()
{
fori(i,1,n) y[i]=1e9;
int l=0,r=0;
fori(i,1,n) {
l=max(l,x[i]);
y[i]=min(y[i],l);
}
for(int i=n;i!=0;i--) {
r=max(r,x[i]);
y[i]=min(y[i],r);
}
fori(i,1,n) kq=(kq+max(0ll,y[i]-x[i]))%mod;
}
void duyet(int i)
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

Main.cpp: In function 'void sub3::solve()':
Main.cpp:83:25: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
   83 |         f[i&1][val]=(f[i-1&1][j]+f[i&1][val])%mod;
      |                        ~^~
Main.cpp:84:26: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
   84 |         f[i&1][val2]=(f[i-1&1][j]+f[i&1][val2])%mod;
      |                         ~^~
Main.cpp:90:34: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
   90 |           if(a[i]<=j) kq=(kq+(f[i-1&1][j]*sum)%mod*(rrh[j]-rrh[a[i]])%mod)%mod;
      |                                 ~^~
Main.cpp:91:34: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
   91 |           if(b[i]<=j) kq=(kq+(f[i-1&1][j]*sum)%mod*(rrh[j]-rrh[b[i]])%mod)%mod;
      |                                 ~^~
Main.cpp:97:21: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
   97 |         sum=(sum+f[i-1&1][j])%mod;
      |                    ~^~
Main.cpp:100:24: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
  100 |       fori(j,0,lim) f[i-1&1][j]=0;
      |                       ~^~
Main.cpp: In function 'int32_t main()':
Main.cpp:113:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  113 |     freopen("1.inp","r",stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~
Main.cpp:114:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  114 |     freopen("1.out","w",stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~
Main.cpp:119:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  119 |     freopen(task".inp","r",stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
Main.cpp:120:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  120 |     freopen(task".out","w",stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#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...