------
## 最终结论
```python
def maxProfitAssignment(difficulty, profit, worker):
    # Combine difficulty and profit into a list of tuples and sort by difficulty
    jobs = sorted(zip(difficulty, profit))
    
    # Sort the workers by their abilities
    worker.sort()
    
    # Initialize variables
    max_profit = 0
    total_profit = 0
    i = 0
    
    # Iterate over workers
    for ability in worker:
        while i < len(jobs) and ability >= jobs[i][0]:
            max_profit = max(max_profit, jobs[i][1])
            i += 1
        total_profit += max_profit
    
    # Return the total profit after all workers have been processed
    return total_profit

# Example usage:
difficulty = [2,4,6,8,10]
profit = [10,20,30,40,50]
worker = [4,5,6,7]
print(maxProfitAssignment(difficulty, profit, worker))  # Output: 100
```