• Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals)C. Jury Marks


    题意:有一个初始分值,按时间给出K个评委给的分数,+或者减,然后有n个在这期间出现过的分数,问初始分值可能是

    思路:得出k的前缀和,由n[i]可以得到他可能存在的初值即n[i]--(k[1]~k[k]),然后看n[1]的那些可能的初值是否也在(n[2]~n[n]中出现

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 
     4 set<int > a[2004];
     5 map<int ,int >ma;
     6 int b[2004];
     7 int c[2004];
     8 int main(){
     9     int n,k;
    10     int xx;
    11     scanf("%d%d",&n,&k);
    12     for(int i=1;i<=n;i++){
    13         scanf("%d",&xx);
    14         b[i]=xx+b[i-1];
    15     }
    16     for(int i=1;i<=k;i++){
    17         scanf("%d",&c[i]);
    18     }
    19     for(int i=1;i<=k;i++){
    20         for(int j=1;j<=n;j++){
    21             a[i].insert(c[i]-b[j]);
    22         }
    23     }
    24     int ssum=0;
    25 
    26         for(set<int >::iterator it=a[1].begin();it!=a[1].end();it++){
    27             int x=*it;
    28             int sum=0;
    29             for(int j=2;j<=k;j++){
    30                 if(a[j].count(x)) sum++;
    31             }
    32             if(sum==k-1) {
    33                 ssum++;
    34             }
    35         }
    36     printf("%d
    ",ssum);
    37     return 0;
    38 }
  • 相关阅读:
    集合框架(三)
    集合框架(二)
    集合框架(一)
    第九章 持有你的对象
    UML类图
    用a标签设置锚点
    设计原则
    第八章 接口与内部类
    装配Bean
    第33条:用EnumMap代替序数索引
  • 原文地址:https://www.cnblogs.com/hhxj/p/7168687.html
Copyright © 2020-2023  润新知