8 条题解

  • 1
    @ 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
      @ 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: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
                  标签
                  (无)
                  递交数
                  298
                  已通过
                  84
                  上传者