社区讨论

【P1161 开灯】TLE

P1161开灯参与者 4已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@locijp27
此快照首次捕获于
2023/10/30 14:22
2 年前
此快照最后确认于
2023/11/05 01:44
2 年前
查看原帖
题目描述说是无限长的路上有路灯于是我就用了map替代数组,于是乎TLE了。为什么会超时呢?是不是map在插入数据的时候也会发生而外的耗时操作?
CPP
#include <iostream>
#include <map>
using namespace std;

map<int, bool> mp;

int main()
{
    double a;
    int t, n, tmp, p;
    cin >> n;
    
    for (int i = 0; i < n; i++)
    {
        cin >> a >> t;
        for (int j = 1; j <= t; j++)
        {           
            tmp = (int)(a * j); 
            mp[tmp];
            if (mp[tmp] == 1)
                mp[tmp] = 0;
            else
            {
                mp[tmp] = 1;                
            }
        }
    }
    for( map<int,bool>::iterator i = mp.begin();i!=mp.end();i++)
    {
        if(i->second )
        {p=i->first;break;}
    }
    cout<<p;
    return 0;
}

回复

6 条回复,欢迎继续交流。

正在加载回复...