Submission #1255373

#TimeUsernameProblemLanguageResultExecution timeMemory
1255373quocbaooTwo Antennas (JOI19_antennas)C++20
13 / 100
57 ms17740 KiB
#include<bits/stdc++.h> #define fi first #define se second #define ll long long using namespace std; const int N=2e5; int n,q,h[N+5],a[N+5],b[N+5]; namespace sub1{ void xuly(){ for (int i=1;i<=q;i++){ int l,r;cin>>l>>r; int ma=-1; for (int j=l;j<=r;j++){ for (int k=l;k<=r;k++){ if (a[j]<=abs(j-k)&&abs(j-k)<=b[j]){ if (a[k]<=abs(j-k)&&abs(j-k)<=b[k]) ma=max(ma,abs(h[j]-h[k])); } } } cout<<ma<<'\n'; } } } namespace sub2{ int dp[2005][2005]; void xuly(){ memset(dp,-1,sizeof(dp)); for (int i=1;i<=n;i++){ for (int j=i+1;j<=n;j++){ if (a[j]<=abs(i-j)&&abs(j-i)<=b[j]){ if (a[i]<=abs(j-i)&&abs(j-i)<=b[i]) dp[i][j]=abs(h[j]-h[i]); } } } for (int len=2;len<=n;len++){ for (int i=1;i<=n-len+1;i++){ int j=i+len-1; dp[i][j]=max(dp[i][j],max(dp[i+1][j],dp[i][j-1])); } } for (int i=1;i<=q;i++){ int l,r;cin>>l>>r; cout<<dp[l][r]<<'\n'; } } } int main(){ if (fopen("atten.inp","r")){ freopen("atten.inp","r",stdin); freopen("atten.out","w",stdout); } ios_base::sync_with_stdio(0); cin.tie(0);cout.tie(0); cin>>n; for (int i=1;i<=n;i++) cin>>h[i]>>a[i]>>b[i]; cin>>q; if (n<=300&&q<=300) return sub1::xuly(),0; if (n<=2000) return sub2::xuly(),0; // full::xuly(); }

Compilation message (stderr)

antennas.cpp: In function 'int main()':
antennas.cpp:51:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   51 |         freopen("atten.inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
antennas.cpp:52:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   52 |         freopen("atten.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...