拍照竟然倒贴5元!
  • 板块灌水区
  • 楼主一咕咕一
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/10/15 20:48
  • 上次更新2024/10/15 22:02:48
查看原帖
拍照竟然倒贴5元!
772815
一咕咕一楼主2024/10/15 20:48

题目

#include <bits/stdc++.h>
using namespace std;
int n;
class Node
{
public:
    int x, id;
} a[500007], q[500007];
map<int, int> mp;
int su, qs, ans = INT_MAX;
int l = 1, r;
int main()
{
    // freopen(".in", "r", stdin);
    // freopen(".out", "w", stdout);
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        cin >> a[i].x >> a[i].id;
        if (!mp[a[i].id])
            su++, mp[a[i].id] = 1;
    }
    mp.clear();
    for (int i = 1; i <= n; i++)
    {
        if (!mp[a[i].id])
            qs++, mp[a[i].id] = 1;
        else
            mp[a[i].id]++;
        q[++r] = {a[i].x, a[i].id};
        while (mp[q[l].id] > 1)
            l++, mp[q[l].id]--;
        if (qs == su)
            ans = min(ans, q[r].x - q[l].x);
    }
    cout << ans;
//    putchar('\n'), system("pause");
    return 0;
}

样例实际输出:

-5

!!! 玄关!!!!!!

2024/10/15 20:48
加载中...