zoukankan      html  css  js  c++  java
  • Codeforces Round #350 (Div. 2)解题报告

    codeforces 670A. Holidays

    题目链接:

    http://codeforces.com/contest/670/problem/A

    题意:

    A. Holidays

    On the planet Mars a year lasts exactly n days (there are no leap years on Mars). But Martians have the same weeks as earthlings — 5 work days and then 2 days off. Your task is to determine the minimum possible and the maximum possible number of days off per year on Mars.

    Input

    The first line of the input contains a positive integer n (1 ≤ n ≤ 1 000 000) — the number of days in a year on Mars.

    Output

    Print two integers — the minimum possible and the maximum possible number of days off per year on Mars.

    Examples

    Input

    14

    Output

    4 4

    Input

    2

    Output

    0 2

    Note

    In the first sample there are 14 days in a year on Mars, and therefore independently of the day a year starts with there will be exactly 4 days off .

    In the second sample there are only 2 days in a year on Mars, and they can both be either work days or days off.

    分析:

    每周有7天,每周有2天的休息时间。问给出n,n代表有n天,问最少有几天休息时间,最多有几天休息时间。

    如果是7的倍数,则定会每周休息2天。

    最少时间:大于5为分界点

    最大时间:大于2为分界点

    代码:

    #include<bits/stdc++.h>
    
    using namespace std;
    
    int main()
    {
        int n;
        cin>>n;
        int ans=n/7*2;
        int t=n%7;
        int minans;
        int maxans;
    
        if(t>5) minans=t-5;
        else minans=0;
        if(t>2) maxans=2;
        else maxans=t;
    
        cout<<minans+ans<<" "<<maxans+ans<<endl;
        return 0;
    }

    codeforces 670B. Game of Robots

    题目链接:

    http://codeforces.com/contest/670/problem/B

    题意:

    In late autumn evening n robots gathered in the cheerful company of friends. Each robot has a unique identifier — an integer from 1 to 109.

    At some moment, robots decided to play the game "Snowball". Below there are the rules of this game. First, all robots stand in a row. Then the first robot says his identifier. After that the second robot says the identifier of the first robot and then says his own identifier. Then the third robot says the identifier of the first robot, then says the identifier of the second robot and after that says his own. This process continues from left to right until the n-th robot says his identifier.

    Your task is to determine the k-th identifier to be pronounced.

    Input

    The first line contains two positive integers n and k (1 ≤ n ≤ 100 000, 1 ≤ kmin(2·109, n·(n + 1) / 2).

    The second line contains the sequence id1, id2, ..., idn (1 ≤ idi ≤ 109) — identifiers of roborts. It is guaranteed that all identifiers are different.

    Output

    Print the k-th pronounced identifier (assume that the numeration starts from 1).

    Examples

    Input

    2 2
    1 2

    Output

    1

    Input

    4 5
    10 4 18 3

    Output

    4

    分析:

    反向思维

    代码:

    #include<bits/stdc++.h>
    
    using namespace std;
    int a[100009];
    
    int main()
    {
        int n,k;
        cin>>n>>k;
        for(int i=1;i<=n;i++)
        {
            cin>>a[i];
        }
    
        for(int i=1;i<=n;i++)
        {
            if(k<=i)  break;
            else k=k-i;
        }
    
        cout<<a[k]<<endl;
        return 0;
    }

    codeforces 670C. Cinema

    题目链接:

    http://codeforces.com/contest/670/problem/C

    题意:

    Moscow is hosting a major international conference, which is attended by n scientists from different countries. Each of the scientists knows exactly one language. For convenience, we enumerate all languages of the world with integers from 1 to 109.

    In the evening after the conference, all n scientists decided to go to the cinema. There are m movies in the cinema they came to. Each of the movies is characterized by two distinct numbers — the index of audio language and the index of subtitles language. The scientist, who came to the movie, will be very pleased if he knows the audio language of the movie, will be almost satisfied if he knows the language of subtitles and will be not satisfied if he does not know neither one nor the other (note that the audio language and the subtitles language for each movie are always different).

    Scientists decided to go together to the same movie. You have to help them choose the movie, such that the number of very pleased scientists is maximum possible. If there are several such movies, select among them one that will maximize the number of almost satisfied scientists.

    Input

    The first line of the input contains a positive integer n (1 ≤ n ≤ 200 000) — the number of scientists.

    The second line contains n positive integers a1, a2, ..., an (1 ≤ ai ≤ 109), where ai is the index of a language, which the i-th scientist knows.

    The third line contains a positive integer m (1 ≤ m ≤ 200 000) — the number of movies in the cinema.

    The fourth line contains m positive integers b1, b2, ..., bm (1 ≤ bj ≤ 109), where bj is the index of the audio language of the j-th movie.

    The fifth line contains m positive integers c1, c2, ..., cm (1 ≤ cj ≤ 109), where cj is the index of subtitles language of the j-th movie.

    It is guaranteed that audio languages and subtitles language are different for each movie, that is bjcj.

    Output

    Print the single integer — the index of a movie to which scientists should go. After viewing this movie the number of very pleased scientists should be maximum possible. If in the cinema there are several such movies, you need to choose among them one, after viewing which there will be the maximum possible number of almost satisfied scientists.

    If there are several possible answers print any of them.

    Examples

    Input

    3
    2 3 2
    2
    3 2
    2 3

    Output

    2

    Input

    6
    6 3 1 1 3 7
    5
    1 2 3 4 5
    2 3 4 5 1

    Output

    1

    分析:

    根据数据分析可知用  map数组+struct排序  做

    代码:

    #include<bits/stdc++.h>
    
    using namespace std;
    map<int,int>s;
    
    struct p1
    {
        int a;
        int b;
    }P1[200009];
    
    struct p
    {
        int c;
        int d;
        int t1;
        int t2;
    }P[200009];
    
    bool cmp(p X,p Y)
    {
        if(X.t1==Y.t1)  return X.t2>Y.t2;
        else   return X.t1>Y.t1;
    }
    int main()
    {
        int n,t,m;
        scanf("%d",&n);
        for(int i=0;i<n;i++)
        {
            scanf("%d",&t);
            s[t]++;
        }
        scanf("%d",&m);
        for(int i=1;i<=m;i++)
        {
            scanf("%d",&P1[i].a);
            P[i].c=P1[i].a;
        }
        for(int i=1;i<=m;i++)
        {
            scanf("%d",&P1[i].b);
            P[i].d=P1[i].b;
        }
        for(int i=1;i<=m;i++)
        {
            P[i].t1=s[P1[i].a];
            P[i].t2=s[P1[i].b];
        }
        sort(P+1,P+m+1,cmp);
        for(int i=1;i<=m;i++)
        {
            if(P[1].c==P1[i].a && P[1].d==P1[i].b)
            {
                cout<<i<<endl;
                break;
            }
        }
        return 0;
    }
  • 相关阅读:
    第3次实践作业
    第2次实践作业
    第09组 团队Git现场编程实战
    第二次结对编程作业
    团队项目-需求分析报告
    团队项目-选题报告
    第一次结对编程作业
    第一次个人编程作业
    第一次博客作业
    课程设计第十四天
  • 原文地址:https://www.cnblogs.com/gaoss/p/5525396.html
Copyright © 2011-2022 走看看