寒假训练第六天-Codeforces Round #481 (Div. 3)

寒假训练第六天-Codeforces Round #481 (Div. 3)

前言:英语挂科了,就很突然,心情不好就不写题意和题解了,直接粘代码吧。

题目链接-https://codeforces.com/contest/978

A-Remove Duplicates

int a[55], ok[1010];
vector<int> v;
int32_t main()
{
    
    
    ICO;
    int n, x, num = 0;
    cin >> n;
    for(int i = 1; i <= n; i++)
    {
    
    
        cin >> a[i];
        ok[a[i]] = i;
    }
    for(int i = 1; i <= n; i++)
        if(ok[a[i]] == i) num ++;
    for(int i = 1; i <= n; i++)
        if(ok[a[i]] == i) cout << a[i] << ' ';
    return 0;
}

B-File Name

string s;
int32_t main()
{
    
    
    ICO;
    int n, num = 0;
    cin >> n >> s;
    for(int i = 0; i < s.size() - 2; i++)
        if(s[i] == 'x' && s[i + 1] == 'x' && s[i + 2] == 'x') num++;
    cout << num << endl;
    return 0;
}

C-Letters

ll a[maxn], s[maxn];
int32_t main()
{
    
    
    ICO;
    ll n, m, x;
    cin >> n >> m;
    for(int i = 1; i <= n; i++)
    {
    
    
        cin >> a[i];
        s[i] = s[i - 1] + a[i];
    }
 
    while(m--)
    {
    
    
        cin >> x;
        ll t = lower_bound(s + 1, s + 1 + n, x) - s;
        ll p = x - s[t - 1];
        cout << t << ' ' << p << endl;
    }
    return 0;
}

D- Almost Arithmetic Progression

const int maxn = 1e5 + 10;
ll a[maxn], m[maxn];
int32_t main()
{
    
    
    ICO;
    int n, d, num, k, t, res = inf_int;
    cin >> n;
    bool ok = 0;
    for(int i = 1; i <= n; i++) cin >> m[i];
    if(n <= 2){
    
    cout << 0 << endl; return 0;}
    for(int i = m[1] - 1; i <= m[1] + 1; i++)
    {
    
    
        for(int j = m[2] - 1; j <= m[2] + 1; j++)
        {
    
    
            cpy(a, m);
            d = j - i, num = 0, a[1] = i, a[2] = j;
            if(a[1] != m[1]) num++;
            if(a[2] != m[2]) num++;
            for(k = 3; k <= n; k++)
            {
    
    
                t = a[k] - a[k - 1];
                if(t == d) continue;
                else if(t == d + 1) {
    
    a[k]--; num++;}
                else if(t == d - 1) {
    
    a[k]++; num++;}
                else break;
            }
            if(k == n + 1) {
    
    ok = 1; res = min(res, num);}
        }
    }
    if(ok) cout << res << endl;
    else cout << -1 << endl;
    return 0;
}

E- Bus Video System

ll a[1010], sum;
int32_t main()
{
    
    
    ICO;
    int n, w;
    cin >> n >> w;
    ll minn = 0, maxn = w;
    for(int i = 1; i <= n; i++) cin >> a[i];
    for(int i = 1; i <= n; i++)
    {
    
    
        sum += a[i];
        minn = max(minn, -sum), maxn = min(maxn, w - sum);
        if(minn > w || maxn < 0 || minn > maxn) {
    
    cout << 0 << endl; return 0;}
    }
    cout << (maxn - minn + 1) << endl;
    return 0;
}

F- Mentors

const int maxn = 2e5 + 10;
int a[maxn], b[maxn], res[maxn];
int32_t main()
{
    
    
    ICO;
    int n, k, p ,q;
    cin >> n >> k;
    for(int i = 1; i <= n; i++) {
    
    cin >> a[i]; b[i] = a[i];}
    sort(b + 1, b + 1 + n);
    for(int i = 1; i <= n; i++) res[i] = lower_bound(b + 1, b + 1 + n, a[i]) - b - 1;
    while(k--)
    {
    
    
        cin >> p >> q;
        if(a[p] < a[q]) res[q]--;
		else if(a[q] < a[p]) res[p]--;
    }
    for(int i = 1; i <= n; i++)
        cout << res[i] << ' ';
    return 0;
}

总结:寒假训练这几天打的最好的一场了吧。本鼓起勇气走向令人恐惧的未来,却因为自己的无所适从,莫衷一是而迷茫在路口。我对未来的不确定性 感到害怕。

猜你喜欢

转载自blog.csdn.net/Siyue1999/article/details/112727525