제출 #1121619

#제출 시각아이디문제언어결과실행 시간메모리
1121619vjudge1Calvinball championship (CEOI15_teams)C++17
0 / 100
2 ms648 KiB
// Ali

// #pragma GCC optimize("Ofast,unroll-loops")
#include <bits/stdc++.h>
using namespace std;
#define int long long int
#define ins insert      
#define pii pair<int,int>
#define pb push_back
#define endl '\n'
#define putr(x) cout<<x<<endl;return; 
#define all(x) x.begin(),x.end()
const int mod = 1e6 +7, sze = 3e5+23, inf = 2e9, LG = 19,pr = 31;
mt19937 rng(time(0));

void fast(){
    /*  
                1 +
    1 2 2 2 2 2 (n-1)*(n) /2  + 
    1 2 3 3 3 3 (n-2)*(n-1)/2 + 
    1 2 3 4 4 4 (n-3)*(n-2)/2 +
    1 2 3 4 5 5 (n-4)*(n-3)/2 +
    1 2 3 4 5 6 (n-5)*(n-4)/2
    */
    int n;
    cin>>n;
    vector<int> arr(n);
    int mx =0;
    for(int i=0;i<n;i++){
        cin>>arr[i];
        mx=max(mx,arr[i]);
    }
    int ans=1;
    for(int i =2;i<mx;i++){
        ans= (ans + ((n-i +2)*(n-i +1)/2) %mod + mod)%mod;
    }
    // hojam (mx -1) zeminlendi 
    for(int i=0;i<n;i++){
        if(arr[i]==mx){
            ans = (ans + (n - i) + mod)%mod;
        }
    }

    cout<<ans<<endl;
}

signed main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
 
    int tt = 1;
    // cin>>tt;
 
    while(tt--){
        fast();
    }
    return 0;
}
#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...
#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...