Submission #282817

#TimeUsernameProblemLanguageResultExecution timeMemory
282817arnold518방벽 (JOI15_walls)C++14
10 / 100
3080 ms2416 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; const int MAXN = 2e5; int N, M; pii A[MAXN+10]; int B[MAXN+10]; int main() { scanf("%d%d", &N, &M); //M++; for(int i=1; i<=N; i++) scanf("%d%d", &A[i].first, &A[i].second); for(int i=1; i<=M; i++) scanf("%d", &B[i]); vector<int> V; V.push_back(B[1]); for(int i=2; i<M; i++) { if(B[i-1]<=B[i] && B[i+1]<=B[i]) V.push_back(B[i]); else if(B[i-1]>=B[i] && B[i+1]>=B[i]) V.push_back(B[i]); } V.push_back(B[M]); for(int i=0; i<V.size(); i++) B[i+1]=V[i]; M=V.size(); for(int j=1; j<=N; j++) { ll ans=0; for(int i=1; i<=M; i++) { if(A[j].first<=B[i] && B[i]<=A[j].second) continue; else if(B[i]<A[j].first) { int t=A[j].first-B[i]; ans+=t; A[j].first-=t; A[j].second-=t; } else if(B[i]>A[j].second) { int t=B[i]-A[j].second; ans+=t; A[j].first+=t; A[j].second+=t; } } printf("%lld\n", ans); } }

Compilation message (stderr)

walls.cpp: In function 'int main()':
walls.cpp:29:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |  for(int i=0; i<V.size(); i++) B[i+1]=V[i];
      |               ~^~~~~~~~~
walls.cpp:16:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   16 |  scanf("%d%d", &N, &M); //M++;
      |  ~~~~~^~~~~~~~~~~~~~~~
walls.cpp:17:31: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   17 |  for(int i=1; i<=N; i++) scanf("%d%d", &A[i].first, &A[i].second);
      |                          ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
walls.cpp:18:31: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   18 |  for(int i=1; i<=M; i++) scanf("%d", &B[i]);
      |                          ~~~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...