zoukankan      html  css  js  c++  java
  • [hiho1578]Visiting Peking University

    题意:签到题,不叙述了

    解题关键:模拟即可。

     1 #include<bits/stdc++.h>
     2 #define inf 0x3f3f3f3f
     3 using namespace std;
     4 typedef long long ll;
     5 int arr[1002],brr[1002];
     6 bool vis[1002];
     7 struct node{
     8     int id,num;
     9 }crr[1002];
    10 bool cmp(const node &a,const node &b){
    11     return a.num<b.num;
    12 }
    13 int main(){
    14     int n,m,q,p;
    15     while(cin>>n>>m){
    16         memset(vis,0,sizeof vis);
    17         for(int i=0;i<n;i++) cin>>arr[i];
    18         cin>>q;
    19         for(int i=0;i<q;i++) cin>>brr[i],vis[brr[i]]=true;
    20         p=0;
    21         for(int i=0;i<n;i++) if(!vis[i]) crr[p].num=arr[i],crr[p++].id=i;
    22         if(p<=m){
    23             sort(crr,crr+p,cmp);
    24             int a1=crr[0].id,a2=crr[1].id;
    25             if(a1>a2) swap(a1,a2);
    26             cout<<a1<<" "<<a2<<"
    ";
    27             continue;
    28         }
    29         int sum=0,a1,a2,ans1,ans2,minans=inf,id1,id2;
    30         for(int i=0;i<=p-m;i++){
    31             a1=crr[i].num,id1=crr[i].id,a2=inf;
    32             for(int j=1;j<m;j++){
    33                 if(crr[i+j].num<a2) a2=crr[i+j].num,id2=crr[i+j].id;
    34             }
    35             if(a1+a2<minans) minans=a1+a2,ans1=id1,ans2=id2;
    36         }
    37         cout<<ans1<<" "<<ans2<<"
    ";
    38     }
    39     return 0;
    40 }
  • 相关阅读:
    学习Python第五天
    学习Python第三天
    Mongodb
    JMS links
    笔记整理
    a* products
    String
    business knowledge
    [Java coding] leetcode notes
    [Java Basics3] XML, Unit testing
  • 原文地址:https://www.cnblogs.com/elpsycongroo/p/7582523.html
Copyright © 2011-2022 走看看