是我语文不好吗
#include <bits/stdc++.h> using namespace std; const int N = 1e6 + 10; int n, m, a[N << 1]; namespace Sub1 { int here[110]; bool vis[110] = {0}; int main() { for(int i = 1; i <= m << 1; i ++ ) { if(vis[a[i]]) { for(int j = 1; j <= n; j ++ ) if(here[j] == a[i]) { here[j] = 0; break; } continue; } vis[a[i]] = true; if(i == 1) { here[1] = a[i]; puts("1"); continue; } int pos = 1, maxn = -1; for(int i = 1; i <= n; i ++ ) { if(here[i]) continue; int d = 0x3f3f3f3f; for(int j = 1; j <= n; j ++ ) if(here[j]) d = min(d, abs(i - j)); if(d > maxn) { maxn = d; pos = i; } } here[pos] = a[i]; printf("%d\n", pos); } return 0; } } int main() { // freopen("*.in", "r", stdin); // freopen("*.out", "w", stdout); scanf("%d%d", &n, &m); for(int i = 1; i <= m << 1; i ++ ) scanf("%d", a + i); if(n <= 100 && m <= 100) return Sub1::main(); // if(n <= 1e6) return Sub2::main(); return 0; }
全部评论
(0) 回帖