csu1709 olympic parade

    xiaoxiao2021-03-25  77

    Description

    Input

    Output

    Sample Input

    10 3 1 1 2 3 1 3 3 2 2 2

    Sample Output

    2

    Hint

    Sourcek

    题解:在给定队伍人数中,找出其中有一个不同人数的队伍,并输出队伍的ID。 由于时间限制运用stl vector 来存放数据 然后对存放的数据进行 sort 排序 已经规定的队伍人数K。 遍历向量数组判断第i个与第i+k-1是否相等,相等i=i+k,不等的话 即输出当前的v[i]即为结果。 遍历向量数组判断第i个与第i+k个是否相等,不等i=i+k继续循环,相等即输出当前v[i]即为结果。 下面见代码。 #include <cstdio> #include <iostream> #include<cstring> #include <map> #include <algorithm> #define maxn 1000007 #define ll long long #include <vector> using namespace std; int main() { vector<int> a; vector<int>:: iterator it; int N,K,tmp; scanf("%d%d",&N,&K); for (int i=0;i<N;i++) { scanf("%d",&tmp); a.push_back(tmp); } sort(a.begin(),a.end()); for(it = a.begin();it!=a.end();) { if (*it == *(it+K-1)) { it +=K; } else { cout << *it; return 0; } } for (it = a.begin();it!=a.end();) if (*it != *(it+K)) { it+=K; } else{ //count(it,it+K,*it); cout << *it; return 0; } }
    转载请注明原文地址: https://ju.6miu.com/read-38327.html

    最新回复(0)