CF727D:D. T-shirts Distribution(贪心)

本文介绍了一种竞赛场景下的T恤分配算法,旨在解决不同尺码T恤如何有效分配给参与者的问题,确保每位参与者都能获得合适的T恤。

D. T-shirts Distribution
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

The organizers of a programming contest have decided to present t-shirts to participants. There are six different t-shirts sizes in this problem: SMLXLXXLXXXL (sizes are listed in increasing order). The t-shirts are already prepared. For each size from S to XXXLyou are given the number of t-shirts of this size.

During the registration, the organizers asked each of the n participants about the t-shirt size he wants. If a participant hesitated between two sizes, he could specify two neighboring sizes — this means that any of these two sizes suits him.

Write a program that will determine whether it is possible to present a t-shirt to each participant of the competition, or not. Of course, each participant should get a t-shirt of proper size:

  • the size he wanted, if he specified one size;
  • any of the two neibouring sizes, if he specified two sizes.

If it is possible, the program should find any valid distribution of the t-shirts.

Input

The first line of the input contains six non-negative integers — the number of t-shirts of each size. The numbers are given for the sizes SMLXLXXLXXXL, respectively. The total number of t-shirts doesn't exceed 100 000.

The second line contains positive integer n (1 ≤ n ≤ 100 000) — the number of participants.

The following n lines contain the sizes specified by the participants, one line per participant. The i-th line contains information provided by the i-th participant: single size or two sizes separated by comma (without any spaces). If there are two sizes, the sizes are written in increasing order. It is guaranteed that two sizes separated by comma are neighboring.

Output

If it is not possible to present a t-shirt to each participant, print «NO» (without quotes).

Otherwise, print n + 1 lines. In the first line print «YES» (without quotes). In the following n lines print the t-shirt sizes the orginizers should give to participants, one per line. The order of the participants should be the same as in the input.

If there are multiple solutions, print any of them.

Examples
input
0 1 0 1 1 0
3
XL
S,M
XL,XXL
output
YES
XL
M
XXL
input
1 1 2 0 1 1
5
S
M
S,M
XXL,XXXL
XL,XXL
output
NO
题意:6种码数的衣服,每件有一定数量,N个人买衣服,要么买指定码数的,要么可以买指定相邻码数二选一,问衣服能否分配够。

思路:将二选一的人挑出来,从小到大处理,优先买小码。

# include <bits/stdc++.h>
using namespace std;
string s[8] = {"S","M","L","XL","XXL","XXXL"};
int a[8], b[8], c[1<<17][2];
int buf[8][2];
int cal(string st)
{
    for(int i=0; i<6; ++i)
        if(s[i] == st) return i;
}
int main()
{
    int n;
    string t;
    memset(c, -1, sizeof(c));
    for(int i=0; i<6; ++i) scanf("%d",&a[i]);
    scanf("%d",&n);
    for(int i=0; i<n; ++i)
    {
        cin >> t;
        int pos = t.find(",",0);
        if(pos == string::npos)
        {
            int id = cal(t);
            if(--a[id] < 0) return 0*puts("NO");
            else c[i][0] = id;
        }
        else
        {
            int id = cal(t.substr(0, pos));
            ++b[id];
            c[i][1] = id;
        }
    }
    for(int i=0; i<5; ++i)
    {
        if(b[i])
        {
            int imin = min(b[i], a[i]);
            a[i] -= imin, b[i] -= imin;
            buf[i][0] = imin;
            imin = min(b[i], a[i+1]);
            a[i+1] -= imin;
            b[i] -= imin;
            buf[i][1] = imin;
            if(b[i]) return 0*puts("NO");
        }
    }
    puts("YES");
    for(int i=0; i<n; ++i)
    {
        if(c[i][0] != -1)
            cout << s[c[i][0]] << endl;
        else
        {
            if(buf[c[i][1]][0] > 0)
            {
                --buf[c[i][1]][0];
                cout << s[c[i][1]] << endl;
            }
            else
            {
                --buf[c[i][1]][1];
                cout << s[c[i][1]+1] << endl;
            }
        }
    }
    return 0;
}


# ComfyUI Error Report ## Error Details - **Node ID:** 107 - **Node Type:** InitFluxLoRATraining - **Exception Type:** ValueError - **Exception Message:** max() arg is an empty sequence ## Stack Trace ``` File "D:\ComfyUI-aki-v1.6\ComfyUI\execution.py", line 361, in execute output_data, output_ui, has_subgraph = get_output_data(obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\ComfyUI-aki-v1.6\ComfyUI\execution.py", line 236, in get_output_data return_values = _map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\ComfyUI-aki-v1.6\ComfyUI\execution.py", line 208, in _map_node_over_list process_inputs(input_dict, i) File "D:\ComfyUI-aki-v1.6\ComfyUI\execution.py", line 197, in process_inputs results.append(getattr(obj, func)(**inputs)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\ComfyUI-aki-v1.6\ComfyUI\custom_nodes\comfyui-fluxtrainer\nodes.py", line 631, in init_training training_loop = network_trainer.init_train(args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\ComfyUI-aki-v1.6\ComfyUI\custom_nodes\comfyui-fluxtrainer\train_network.py", line 328, in init_train tokenize_strategy = self.get_tokenize_strategy(args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\ComfyUI-aki-v1.6\ComfyUI\custom_nodes\comfyui-fluxtrainer\flux_train_network_comfy.py", line 101, in get_tokenize_strategy _, is_schnell, _, _ = flux_utils.analyze_checkpoint_state(args.pretrained_model_name_or_path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\ComfyUI-aki-v1.6\ComfyUI\custom_nodes\comfyui-fluxtrainer\library\flux_utils.py", line 76, in analyze_checkpoint_state max_single_block_index = max( ^^^^ ``` ## System Information - **ComfyUI Version:** 0.3.43 - **Arguments:** D:\ComfyUI-aki-v1.6\ComfyUI\main.py --auto-launch --preview-method none --disable-cuda-malloc --fast - **OS:** nt - **Python Version:** 3.11.9 (tags/v3.11.9:de54cf5, Apr 2 2024, 10:12:12) [MSC v.1938 64 bit (AMD64)] - **Embedded Python:** false - **PyTorch Version:** 2.7.0+cu128 ## Devices - **Name:** cuda:0 NVIDIA GeForce RTX 5060 Ti : cudaMallocAsync - **Type:** cuda - **VRAM Total:** 17102733312 - **VRAM Free:** 15803088896 - **Torch VRAM Total:** 0 - **Torch VRAM Free:** 0 ## Logs ``` 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - func2025-07-07T12:01:01.204855 - )2025-07-07T12:01:01.204855 - (2025-07-07T12:01:01.204855 - **inputs2025-07-07T12:01:01.204855 - )2025-07-07T12:01:01.204855 - )2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - ^^^^^^^^^^^^^^2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - ^^^^^^^^^^^^^^ 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - File 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - "D:\ComfyUI-aki-v1.6\ComfyUI\cust2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - om_nodes\comfyui-fluxtrainer\node2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - s.py"2025-07-07T12:01:01.204855 - , line 2025-07-07T12:01:01.204855 - 6312025-07-07T12:01:01.204855 - , in init_training2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.204855 - 2025-07-07T12:01:01.205856 - training_loop = 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - network_trainer.init_train2025-07-07T12:01:01.205856 - (2025-07-07T12:01:01.205856 - args2025-07-07T12:01:01.205856 - )2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - ^^^^^^^^^^^^^2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - ^^^^^^^^^^^^^^^^^^^ 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - File 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - "D:\ComfyUI-aki-v1.6\ComfyUI\cust2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - om_nodes\comfyui-fluxtrainer\trai2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - n_network.py"2025-07-07T12:01:01.205856 - , line 2025-07-07T12:01:01.205856 - 3282025-07-07T12:01:01.205856 - , in 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - init_train 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - tokenize_strategy = 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - self.get_tokenize_strategy2025-07-07T12:01:01.205856 - (2025-07-07T12:01:01.205856 - args2025-07-07T12:01:01.205856 - )2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - ^^^^^^^^^2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - ^^^^^^^^^^^^^^^^^^^^^^^ 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - File 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - "D:\ComfyUI-aki-v1.6\ComfyUI\cust2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.205856 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - om_nodes\comfyui-fluxtrainer\flux2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - _train_network_comfy.py"2025-07-07T12:01:01.207344 - , line 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 1012025-07-07T12:01:01.207344 - , in get_tokenize_strategy 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - _, is_schnell, _, _ = 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - flux_utils.analyze_checkpoint_sta2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - te2025-07-07T12:01:01.207344 - (2025-07-07T12:01:01.207344 - args.pretrained_model_name_or_2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - path2025-07-07T12:01:01.207344 - )2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - ^^^^^^^2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - File 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - "D:\ComfyUI-aki-v1.6\ComfyUI\cust2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - om_nodes\comfyui-fluxtrainer\libr2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - ary\flux_utils.py"2025-07-07T12:01:01.207344 - , line 2025-07-07T12:01:01.207344 - 762025-07-07T12:01:01.207344 - , in 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - analyze_checkpoint_state 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - max_single_block_index = 2025-07-07T12:01:01.207344 - max2025-07-07T12:01:01.207344 - (2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.207344 - 2025-07-07T12:01:01.208840 - ^^^^2025-07-07T12:01:01.208840 - 2025-07-07T12:01:01.208840 - 2025-07-07T12:01:01.208840 - 2025-07-07T12:01:01.208840 - 2025-07-07T12:01:01.208840 - 2025-07-07T12:01:01.208840 - ValueError: 2025-07-07T12:01:01.208840 - max2025-07-07T12:01:01.208840 - (2025-07-07T12:01:01.208840 - )2025-07-07T12:01:01.208840 - arg is an empty2025-07-07T12:01:01.208840 - 2025-07-07T12:01:01.208840 - 2025-07-07T12:01:01.208840 - 2025-07-07T12:01:01.208840 - 2025-07-07T12:01:01.208840 - 2025-07-07T12:01:01.208840 - sequence 2025-07-07T12:01:01.208840 - 2025-07-07T12:01:01.208840 - 2025-07-07T12:01:01.208840 - 2025-07-07T12:01:01.208840 - 2025-07-07T12:01:01.208840 - 2025-07-07T12:01:01.208840 - 2025-07-07T12:01:01.208840 - 2025-07-07T12:01:01.208840 - 2025-07-07T12:01:01.208840 - 2025-07-07T12:01:01.210844 - 2025-07-07T12:01:01.210844 - 2025-07-07T12:01:01.210844 - INFO 2025-07-07T12:01:01.210844 - 2025-07-07T12:01:01.210844 - Prompt executed in 2025-07-07T12:01:01.210844 - 0.062025-07-07T12:01:01.210844 - seconds 2025-07-07T12:01:01.210844 - 2025-07-07T12:01:01.210844 - main.py2025-07-07T12:01:01.210844 - :2025-07-07T12:01:01.210844 - 1942025-07-07T12:01:01.210844 - ``` ## Attached Workflow Please make sure that workflow does not contain any sensitive information such as API keys or passwords. ``` Workflow too large. Please manually upload the workflow from local file system. ``` ## Additional Context (Please add any additional context or steps to reproduce the error here)
最新发布
07-08
错误信息 `max() arg is an empty sequence` 表明程序在调用 Python 的内置函数 `max()` 时,传入了一个空的序列(如列表、元组等),而 `max()` 函数无法处理空输入。 ### 分析堆栈跟踪 根据提供的堆栈跟踪信息: 1. 错误发生在文件 `flux_utils.py` 第 76 行的 `analyze_checkpoint_state` 方法中。 2. 具体代码为:`max_single_block_index = max(...)` 3. 这表明 `max(...)` 中的参数是一个空列表或其他空序列。 ### 可能的原因 - **模型路径问题**:`args.pretrained_model_name_or_path` 指向的模型路径可能无效或缺少某些必要的文件。 - **模型结构解析失败**:代码试图从模型检查点中提取信息时,未能找到预期的数据结构,导致生成了一个空的列表。 - **数据处理逻辑错误**:可能是代码中的某个步骤未能正确解析模型文件内容,从而导致后续逻辑依赖的列表为空。 ### 解决方案 1. **检查模型路径**: - 确保 `args.pretrained_model_name_or_path` 指向一个有效的预训练模型目录,并且该目录包含所有必需的文件。 - 验证模型是否完整,尝试重新下载或重新解压模型文件。 2. **调试代码**: - 在 `flux_utils.py` 文件的第 76 行之前添加打印语句,检查传递给 `max()` 的参数是什么: ```python print("Input to max():", your_list) ``` - 如果列表为空,进一步向上查找为何没有数据被填充。 3. **异常处理**: - 在调用 `max()` 前,可以先检查列表是否为空: ```python if your_list: max_single_block_index = max(your_list) else: raise ValueError("The list passed to max() is empty. Check the model structure.") ``` 4. **更新插件**: - 检查是否有最新版本的 `comfyui-fluxtrainer` 插件可用,可能存在已修复的 bug 或改进的错误处理逻辑。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值