Description
模拟电梯
Algorithm
模拟
很多细节要考虑 不想谢了
Code
#include <cmath>
#include <cstdio>
#include <iostream>
using namespace std;
int n, x;
const int maxn = 4 + 9;
const int maxt = 30 + 9;
int a[maxn];
int b[maxt];
void solve()
{
for (int i = 0; i < n; i++)
scanf("%d", &a[i]);
for (int i = 0; i < 1; i++)
{
int t;
scanf("%d", &t);
bool flag = false; // true > false <
if (a[i] > x) flag = true;
int ans = 0;
for (int j = 0; j < t; j++)
{
int xx;
scanf("%d", &xx);
if (flag && xx > x && xx < a[i]) ans += 15;
if (!flag && xx < x && xx > a[i]) ans += 15;
}
ans += (abs(x - a[i]) * 5);
if (a[i] == x) ans = 0;
cout << ans;
}
for (int i = 1; i < n; i++)
{
int t;
scanf("%d", &t);
bool flag = false; // true > false <
if (a[i] > x) flag = true;
int ans = 0;
for (int j = 0; j < t; j++)
{
int xx;
scanf("%d", &xx);
if (flag && xx > x && xx < a[i]) ans += 15;
if (!flag && xx < x && xx > a[i]) ans += 15;
}
ans += (abs(x - a[i]) * 5);
if (a[i] == x) ans = 0;
cout << ' ' << ans;
}
cout << endl;
}
int main()
{
// freopen("input.txt", "r", stdin);
while (scanf("%d%d", &n, &x) != EOF)
solve();
}