Submission #294230

#TimeUsernameProblemLanguageResultExecution timeMemory
294230LawlietNuclearia (CEOI15_nuclearia)C++17
21 / 100
1105 ms280440 KiB
#include <bits/stdc++.h> using namespace std; typedef long long int lli; const int MAXN = 2500010; int n, m, k, q; vector<lli> v[MAXN], s[MAXN]; int main() { scanf("%d %d %d",&n,&m,&k); for(int i = 0 ; i <= n ; i++) v[i].resize( m + 1 , 0 ), s[i].resize( m + 1 , 0 ); for(int i = 1 ; i <= k ; i++) { int x, y, a, b; scanf("%d %d %d %d",&x,&y,&a,&b); for(int xa = 1 ; xa <= n ; xa++) { for(int ya = 1 ; ya <= m ; ya++) { lli dist = max( abs( x - xa ) , abs( y - ya ) ); lli value = a - b*dist; value = max( value , 0LL ); v[xa][ya] += value; } } } for(int i = 1 ; i <= n ; i++) for(int j = 1 ; j <= m ; j++) s[i][j] = s[i - 1][j] + s[i][j - 1] - s[i - 1][j - 1] + v[i][j]; scanf("%d",&q); while( q-- ) { int xa, ya, xb, yb; scanf("%d %d %d %d",&xa,&ya,&xb,&yb); lli sum = s[xb][yb] + s[xa - 1][ya - 1]; sum -= s[xb][ya - 1] + s[xa - 1][yb]; lli area = (xb - xa + 1)*(yb - ya + 1); lli ans = sum/area; if( (sum%area)*2 >= area ) ans++; printf("%lld\n",ans); } }

Compilation message (stderr)

nuclearia.cpp: In function 'int main()':
nuclearia.cpp:14:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   14 |  scanf("%d %d %d",&n,&m,&k);
      |  ~~~~~^~~~~~~~~~~~~~~~~~~~~
nuclearia.cpp:22:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   22 |   scanf("%d %d %d %d",&x,&y,&a,&b);
      |   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
nuclearia.cpp:42:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   42 |  scanf("%d",&q);
      |  ~~~~~^~~~~~~~~
nuclearia.cpp:47:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   47 |   scanf("%d %d %d %d",&xa,&ya,&xb,&yb);
      |   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...
#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...