题目链接:点击打开链接
#include <iostream>
#include <cstdio>
#include <string.h>
#include <queue>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;
#define N 4010
vector<int> ansi, ansj;
int main() {
int n, m;
while(~scanf("%d%d", &n, &m)) {
ansi.clear();
ansj.clear();
bool f = true;
int K, x, a, b;
a = 0;
b = m;
scanf("%d", &K);
while (K -- >0) {
scanf("%d", &x);
if (!f)
continue;
if (a + b >= x) {
ansi.push_back(0);
ansj.push_back(a + b - x);
b -= a + b - x;
if (b < 0)
f = 0;
} else {
ansi.push_back(x - a - b);
ansj.push_back(0);
a += x - a - b;
if (a > n)
f = 0;
}
}
if (!f)
puts("ERROR");
else {
for (int i = 0; i < ansi.size(); ++i)
printf("%d %d\n", ansi[i], ansj[i]);
}
}
return 0;
}