Submission #348802

#TimeUsernameProblemLanguageResultExecution timeMemory
348802SprdaloHorses (IOI15_horses)C++17
0 / 100
1572 ms8172 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef long double ld;
typedef pair<int, int> pi;
typedef pair<ll, ll> pl;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef vector<double> vd;
typedef vector<bool> vb;
typedef vector<char> vc;
typedef vector<string> vs;
typedef vector<pi> vp;
typedef vector<pl> vpl;

const int mod = 1e9 + 7;

void f(ll& x){
    if (x >= mod)
        x %= mod;
}

ll g(ll x){
    f(x);
    return x;
}

vi X, Y;
int N;

int solve(){
    ll sol = 0, s = 1;
    for (int i = 0; i < N; ++i){
        s *= X[i];
        f(s);
        sol = max(sol, g(s * Y[i]));
    }
    return sol;
}

int init(int n, int x[], int y[]){
    N = n;
    X = vi(n);
    Y=vi(n);
    for (int i = 0; i < n; ++i){
        x[i] = X[i];
        y[i] = Y[i];
    }

    return solve();
}

int updateX(int pos, int val){
    X[pos] = val;
    return solve();
}

int updateY(int pos, int val){
    Y[pos] = val;
    return solve();
}
/*
int main()
{
    ios_base::sync_with_stdio(false); 
    cin.tie(nullptr); 
    cout.tie(nullptr); 
    cerr.tie(nullptr);    

    int n;
    cin >> n;

    int x[n];
    for (int i = 0; i < n; ++i)
        cin >> x[i];

    int y[n];
    for (int i = 0; i < n; ++i)
        cin >> y[i];

    cout << init(n,x,y) << '\n';

    int m;
    cin >> m;

    for (int i = 0; i < m; ++i){
        int type, pos, val;
        cin >> type >> pos >> val;

        if (type == 1)
            cout << updateX(pos, val) << '\n';
        else
            cout << updateY(pos, val) << '\n';
    }
}*/

Compilation message (stderr)

horses.cpp: In function 'int solve()':
horses.cpp:40:12: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   40 |     return sol;
      |            ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...