牛客周赛 Round 28

A题

#include

using namespace std;

int main(){

    int x;

    int sum=0;

    for(int i =0;i<=5;i++){

        cin>>x;

        sum+=x;

    }

    cout<

B题

#include

using namespace std;

string c[100005];

int main(){

    string s;

    cin>>s;

    for(int i=0;i

C题

#include
using namespace std;
int main(){
    int n,m,k;
    cin>>n>>m>>k;
    int a[m + 1];
    for(int i = 0;i < m + 1;i++){
        a[i] = n; 
    } 
    for(int i = 0;i < k;i++){
        int x,y;
        cin>>x>>y;
        if((n - a[y] + 1) <= x && x <= n){
            a[y]--;
        }
    }
    for(int i = 1;i <= n;i++){
        for(int j = 1;j <= m;j++){
            if((n - a[j] + 1) <= i){
                cout<<"*";
            }else{
                cout<<".";
            }
        }
        cout<

 D

#include 

using namespace std;

const int N=1e5+10;

int a[N];

int p[N];

signed main()

{

    int n,k;

    cin>>n>>k;

    for(int i=1;i<=n;i++)

    {

        cin>>a[i];

    }

    int ans=0;

    int sum=0;

    for(int i=1,j=1;i<=n;i++)

    {

        sum+=a[i];

        while(sum>=k)

        {

            sum-=a[j];

            ans+=n-i+1;

            j++;

        }

    }

    cout<

E题
 

#include 

using namespace std;

typedef long long ll;

const int mod = 1e9 + 7;

ll kpow(ll x, int p)

{

    ll sum = 1;

    while(p) {

        if(p & 1)    sum = sum * x % mod;

        p >>= 1;

        x = x * x % mod;

    }

    return sum;

}

int main()

{

    int n, k;    cin >> n >> k;

    array a;

    a[0] = k / 2;

    a[1] = k - a[0];

    a[2] = n / 3;

    a[3] = (n + 1) / 3;

    a[4] = (n + 2) / 3;

    ll ans = kpow(a[0], a[2]) * kpow(a[1], n - a[2])

     % mod + kpow(a[0], a[3]) * kpow(a[1], n - a[3]) % mod;

    ans = (ans + kpow(a[0], a[4]) * kpow(a[1], n - a[4])

     % mod + kpow(a[0], n)) % mod;

    cout << ans << "\n";

    return 0;

}

你可能感兴趣的:(算法,c++,数据结构)