• CodeForces


    请你找出两个编号不同的数列,并从这两个数列中各恰好删除一个数,使得这两个数列的和相等。

    用vector存每一个数

    用map标记

    即可

    #include <bits/stdc++.h>
    using namespace std;
    const int maxn = 200005, INF = 0x7fffffff;
    typedef long long LL;
    vector<LL> G[maxn]; //存储每一行的所有元素
    map<LL, int> vis;   //标记去掉某一个元素的sum是否出现
    map<LL, int> x;     //标记行
    map<LL, int> y;     //标记列
    
    int main()
    {
        int k, flag = 0;
        cin>> k;
        for(int i=0; i<k; i++)
        {
            int n, num;
            LL sum = 0;
            cin>> n;
            for(int j=0; j<n; j++)
            {
                cin>> num;
                sum += num;
                G[i].push_back(num);
            }
            if(!flag)
                for(int j=0; j<n; j++)
                {
                    LL temp = sum - G[i][j];
                    if(vis[temp])
                        if(x[temp] == i+1) continue;
                        else
                        {
                            cout<< "YES" <<endl;
                            cout<< x[temp] << " " << y[temp] <<endl;
                            cout<< i+1 << " " << j+1 <<endl;
                            flag = 1;
                            break;
                        }
                    else
                    {
                        vis[temp] = 1;
                        x[temp] = i+1;
                        y[temp] = j+1;
                    }
                }
        }
        if(!flag) cout<< "NO" <<endl;
    
    
    
        return 0;
    }
    自己选择的路,跪着也要走完。朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。
  • 相关阅读:
    [NOI2003][bzoj1507] 文本编辑器 editor [splay]
    GDKOI 游记
    [填坑完毕] 寒假作业计划
    省选算法学习-数据结构-splay
    NOIP2017游记
    真·总结
    赛前
    十一黄(xun)金(lian)周感想
    9.17 模拟赛
    9.14 模拟赛
  • 原文地址:https://www.cnblogs.com/WTSRUVF/p/9530441.html
Copyright © 2020-2023  润新知