8 条题解

  • 0
    @ 2025-7-29 19:18:17

    #include #include #include using namespace std;

    int main() { ios::sync_with_stdio(false); cin.tie(0);

    int N, M;
    cin >> N >> M;
    
    vector<int> P(M);
    for (int i = 0; i < M; i++) {
        cin >> P[i];
    }
    
    vector<int> A(N - 1), B(N - 1), C(N - 1);
    for (int i = 0; i < N - 1; i++) {
        cin >> A[i] >> B[i] >> C[i];
    }
    
    // 统计每段铁路被经过的次数
    vector<int> count(N - 1, 0);
    for (int i = 1; i < M; i++) {
        int start = min(P[i - 1], P[i]) - 1;
        int end = max(P[i - 1], P[i]) - 1;
        for (int j = start; j < end; j++) {
            count[j]++;
        }
    }
    
    long long total = 0;
    for (int i = 0; i < N - 1; i++) {
        long long ticket_cost = (long long)count[i] * A[i];
        long long ic_cost = C[i] + (long long)count[i] * B[i];
        total += min(ticket_cost, ic_cost);
    }
    
    cout << total << endl;
    
    return 0;
    

    }

    • 0
      @ 2024-4-15 21:41:14

      #include <bits/stdc++.h> using namespace std; long long cf[100000],n,m,a[100000],x,y,z,ans; int main(){ cin>>n>>m; cin>>a[1]; for(long long i=2;i<=m;i++){ cin>>a[i]; if(a[i]>a[i-1]){ cf[a[i-1]]++; cf[a[i]]--; } else { cf[a[i-1]]--; cf[a[i]]++; } } for(long long i=1;i<n;i++){ a[i]=a[i-1]+cf[i]; cin>>x>>y>>z; ans+=min(a[i]x,z+ya[i]); } cout<<ans; return 0; }

      • 0
        @ 2024-4-15 21:40:55
        #include<bits/stdc++.h>
        using namespace std;
        long long cf[100001],n,m,a[100001],x,y,z,ans;
        int main(){
        cin>>n>>m;
        cin>>a[1];
        for(int i=2;i<=m;i++){
        cin>>a[i];
        if(a[i]>a[i-1]){
        cf[a[i-1]]++;
        cf[a[i]]--;
        }else{
        cf[a[i-1]]--;
        cf[a[i]]++;
        }
        }
        for(int i=1;i<n;i++){
        a[i]=a[i-1]+cf[i];
        cin>>x>>y>>z;
        ans+=min(a[i]*x,z+y*a[i]);
        }
        cout<<ans;
        return 0;
        
        • 0
          @ 2024-4-15 21:38:46

          ''' #include<bits/stdc++.h> using namespace std; long long cf[100001],n,m,a[100001],x,y,z,ans;

          int main(){ cin>>n>>m; cin>>a[1]; for(int i=2;i<=m;i++){ cin>>a[i]; if(a[i]>a[i-1]){ cf[a[i-1]]++; cf[a[i]]--; }else{ cf[a[i-1]]--; cf[a[i]]++; } } for(int i=1;i<n;i++){ a[i]=a[i-1]+cf[i]; cin>>x>>y>>z; ans+=min(a[i]x,z+ya[i]); } cout<<ans; return 0; } '''

          • 0
            @ 2024-4-15 21:36:35
            #include<bits/stdc++.h>
            using namespace std;
            long long cf[100000],n,m,x,y,z,a[100000],ans=0; 
            int main(){
            	cin>>n>>m;
            	cin>>a[1];
            	for(long long i=2;i<=m;i++){
            		cin>>a[i];
            		if(a[i]>a[i-1]){
            			cf[a[i-1]]++;
            			cf[a[i]]--;
            		}else{
            			cf[a[i-1]]--;
            			cf[a[i]]++;
            		}
            	}
            	for(long long i=1;i<n;i++){
            		a[i]=a[i-1]+cf[i];
            		cin>>x>>y>>z;
            		ans+=min(a[i]*x,z+y*a[i]);
            	} 
            	cout<<ans;
            
            	return 0;
            }
            
            
            
            • 0
              @ 2024-3-16 17:11:10

              #include <bits/stdc++.h> using namespace std; int main() { cout << "I don't know"; return 0; }

              • 0
                @ 2024-3-16 17:09:37

                啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

                • 0
                  @ 2023-12-5 23:20:07

                  image

                  • 1

                  信息

                  ID
                  2627
                  时间
                  1000ms
                  内存
                  256MiB
                  难度
                  6
                  标签
                  (无)
                  递交数
                  292
                  已通过
                  81
                  上传者