Submission #677373

#TimeUsernameProblemLanguageResultExecution timeMemory
677373Cross_Ratio방벽 (JOI15_walls)C++14
10 / 100
3063 ms2260 KiB
#include <bits/stdc++.h>
#define int long long
using namespace std;
int A[200005];
int B[200005];
int L[200005];
int ans[200005];
signed main() {
    cin.sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int N, M;
    cin >> N >> M;
    int i, j;
    for(i=0;i<N;i++) cin >> A[i] >> B[i];
    for(i=0;i<N;i++) L[i] = B[i] - A[i];
    for(i=0;i<M;i++) {
        int c;
        cin >> c;
        for(j=0;j<N;j++) {
            if(c<A[j]) {
                ans[j] += A[j] - c;
                A[j] = c, B[j] = c + L[j];
            }
            else if(c > B[j]) {
                ans[j] += c - B[j];
                B[j] = c, A[j] = c - L[j];
            }
        }
    }
    for(i=0;i<N;i++) cout << ans[i] << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...